Add todo schema

This commit is contained in:
Achim Rohn
2025-09-18 09:59:40 +02:00
parent b788fb4898
commit 1c42c7dd7a
17 changed files with 2832 additions and 2 deletions
+25
View File
@@ -30,6 +30,29 @@ var (
},
},
}
// TodosColumns holds the columns for the "todos" table.
TodosColumns = []*schema.Column{
{Name: "id", Type: field.TypeInt, Increment: true},
{Name: "created_at", Type: field.TypeTime},
{Name: "updated_at", Type: field.TypeTime},
{Name: "title", Type: field.TypeString, Default: ""},
{Name: "completed", Type: field.TypeBool, Default: false},
{Name: "todo_user", Type: field.TypeInt, Nullable: true},
}
// TodosTable holds the schema information for the "todos" table.
TodosTable = &schema.Table{
Name: "todos",
Columns: TodosColumns,
PrimaryKey: []*schema.Column{TodosColumns[0]},
ForeignKeys: []*schema.ForeignKey{
{
Symbol: "todos_users_user",
Columns: []*schema.Column{TodosColumns[5]},
RefColumns: []*schema.Column{UsersColumns[0]},
OnDelete: schema.SetNull,
},
},
}
// UsersColumns holds the columns for the "users" table.
UsersColumns = []*schema.Column{
{Name: "id", Type: field.TypeInt, Increment: true},
@@ -47,10 +70,12 @@ var (
// Tables holds all the tables in the schema.
Tables = []*schema.Table{
GoogleAuthsTable,
TodosTable,
UsersTable,
}
)
func init() {
GoogleAuthsTable.ForeignKeys[0].RefTable = UsersTable
TodosTable.ForeignKeys[0].RefTable = UsersTable
}