feat: add foreign key support
This commit is contained in:
76
example.json
76
example.json
@@ -1,16 +1,4 @@
|
||||
[
|
||||
{
|
||||
"name": "products",
|
||||
"strict": false,
|
||||
"columns": [
|
||||
{
|
||||
"name": "id",
|
||||
"datatype": "Integer",
|
||||
"primary_key": true,
|
||||
"auto_increment": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "users",
|
||||
"strict": true,
|
||||
@@ -22,18 +10,68 @@
|
||||
"auto_increment": true
|
||||
},
|
||||
{
|
||||
"name": "name",
|
||||
"name": "username",
|
||||
"datatype": "Text",
|
||||
"unique": true
|
||||
},
|
||||
{
|
||||
"name": "password",
|
||||
"datatype": "Text"
|
||||
"unique": true,
|
||||
"nullable": false
|
||||
},
|
||||
{
|
||||
"name": "email",
|
||||
"datatype": "Text",
|
||||
"unique": true
|
||||
"unique": true,
|
||||
"nullable": false
|
||||
},
|
||||
{
|
||||
"name": "password_hash",
|
||||
"datatype": "Text",
|
||||
"nullable": false
|
||||
},
|
||||
{
|
||||
"name": "created_at",
|
||||
"datatype": "Text",
|
||||
"default": "CURRENT_TIMESTAMP",
|
||||
"nullable": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "posts",
|
||||
"strict": true,
|
||||
"columns": [
|
||||
{
|
||||
"name": "id",
|
||||
"datatype": "Integer",
|
||||
"primary_key": true,
|
||||
"auto_increment": true
|
||||
},
|
||||
{
|
||||
"name": "user_id",
|
||||
"datatype": "Integer",
|
||||
"nullable": false
|
||||
},
|
||||
{
|
||||
"name": "title",
|
||||
"datatype": "Text",
|
||||
"nullable": false
|
||||
},
|
||||
{
|
||||
"name": "content",
|
||||
"datatype": "Text",
|
||||
"nullable": false
|
||||
},
|
||||
{
|
||||
"name": "created_at",
|
||||
"datatype": "Text",
|
||||
"default": "CURRENT_TIMESTAMP",
|
||||
"nullable": false
|
||||
}
|
||||
],
|
||||
"foreign_keys": [
|
||||
{
|
||||
"name": "fk_posts_user",
|
||||
"table_column_name": "user_id",
|
||||
"other_table_name": "users",
|
||||
"other_table_column_name": "id"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user