fixes
This commit is contained in:
45
schema.json
45
schema.json
@ -3,7 +3,7 @@
|
||||
{
|
||||
"name": "account",
|
||||
"columns": [
|
||||
{ "name": "description", "sqltype": "varchar(128)", "notnull": true, "selector": 0 }
|
||||
{ "name": "description", "sqltype": "varchar(128)", "notnull": true, "unique": true, "selector": 0 }
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -20,13 +20,16 @@
|
||||
{ "name": "phone1", "sqltype": "varchar(64)" },
|
||||
{ "name": "phone2", "sqltype": "varchar(64)" },
|
||||
{ "name": "iban", "sqltype": "varchar(64)" },
|
||||
{ "name": "account", "sqltype": "integer", "notnull": true, "foreignkey": true, "immutable": true }
|
||||
]
|
||||
{ "name": "account", "sqltype": "integer", "notnull": true, "foreignkey": true, "immutable": true, "unique": true }
|
||||
] ,
|
||||
"tableConstraints": [
|
||||
"unique(firstname, lastname)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "premise",
|
||||
"columns": [
|
||||
{ "name": "description", "sqltype": "varchar(128)", "selector": 0 },
|
||||
{ "name": "description", "sqltype": "varchar(128)", "selector": 0, "unique": true },
|
||||
{ "name": "street", "sqltype": "varchar(128)", "notnull": true },
|
||||
{ "name": "zip", "sqltype": "varchar(10)", "notnull": true },
|
||||
{ "name": "city", "sqltype": "varchar(128)", "notnull": true }
|
||||
@ -39,12 +42,15 @@
|
||||
{ "name": "premise", "sqltype": "integer", "foreignkey": true, "selector": 0 },
|
||||
{ "name": "area", "sqltype": "numeric(10,2)", "notnull": true },
|
||||
{ "name": "flat_no", "sqltype": "integer" }
|
||||
],
|
||||
"tableConstraints": [
|
||||
"unique(description, premise)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "overhead_advance",
|
||||
"columns": [
|
||||
{ "name": "description", "sqltype": "varchar(128)", "selector": 0 },
|
||||
{ "name": "description", "sqltype": "varchar(128)", "selector": 0, "unique": true },
|
||||
{ "name": "amount", "sqltype": "numeric(10,4)", "notnull": true, "immutable": true },
|
||||
{ "name": "startdate", "sqltype": "date", "selector": 1, "immutable": true },
|
||||
{ "name": "enddate", "sqltype": "date" }
|
||||
@ -63,6 +69,9 @@
|
||||
"columns": [
|
||||
{ "name": "description", "sqltype": "varchar(128)", "selector": 1 },
|
||||
{ "name": "premise", "sqltype": "integer", "foreignkey": true, "selector": 0 }
|
||||
],
|
||||
"tableConstraints": [
|
||||
"unique(description, premise)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -70,12 +79,15 @@
|
||||
"columns": [
|
||||
{ "name": "description", "sqltype": "varchar(128)", "selector": 1 },
|
||||
{ "name": "premise", "sqltype": "integer", "foreignkey": true, "selector": 0 }
|
||||
],
|
||||
"tableConstraints": [
|
||||
"unique(description, premise)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "tenancy",
|
||||
"columns": [
|
||||
{ "name": "description", "sqltype": "varchar(128)", "selector": 0 },
|
||||
{ "name": "description", "sqltype": "varchar(128)", "selector": 0, "unique": true },
|
||||
{ "name": "tenant", "sqltype": "integer", "notnull": true, "foreignkey": true, "immutable": true },
|
||||
{ "name": "flat", "sqltype": "integer", "notnull": false, "foreignkey": true, "immutable": true },
|
||||
{ "name": "parking", "sqltype": "integer", "notnull": false, "foreignkey": true, "immutable": true },
|
||||
@ -84,20 +96,21 @@
|
||||
{ "name": "enddate", "sqltype": "date", "notnull": false }
|
||||
],
|
||||
"tableConstraints": [
|
||||
"constraint tenancy_only_one_object check ((flat is not null and parking is null and commercial_premise is null) or (flat is null and parking is not null and commercial_premise is null) or (flat is null and parking is null and commercial_premise is not null))"
|
||||
"check ((flat is not null and parking is null and commercial_premise is null) or (flat is null and parking is not null and commercial_premise is null) or (flat is null and parking is null and commercial_premise is not null))",
|
||||
"unique(flat, parking, commercial_premise, startdate)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "fee",
|
||||
"columns": [
|
||||
{ "name": "description", "sqltype": "varchar(128)", "selector": 0 },
|
||||
{ "name": "description", "sqltype": "varchar(128)", "selector": 0, "unique": true },
|
||||
{ "name": "amount", "sqltype": "numeric(10,2)", "notnull": true, "immutable": true },
|
||||
{ "name": "fee_type", "sqltype": "varchar(10)", "notnull": true, "immutable": true },
|
||||
{ "name": "startdate", "sqltype": "date", "selector": 1, "immutable": true },
|
||||
{ "name": "enddate", "sqltype": "date" }
|
||||
],
|
||||
"tableConstraints": [
|
||||
"constraint fee_fee_type check (fee_type = 'per_area' or fee_type = 'total')"
|
||||
"check (fee_type = 'per_area' or fee_type = 'total')"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -108,6 +121,14 @@
|
||||
{ "name": "fee", "sqltype": "integer", "notnull": true, "foreignkey": true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "account_entry_category",
|
||||
"immutable": true,
|
||||
"columns": [
|
||||
{ "name": "description", "sqltype": "varchar(128)", "notnull": true, "selector": 0, "unique": true },
|
||||
{ "name": "overhead_relevant", "sqltype": "boolean", "notnull": true, "default": "true" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "account_entry",
|
||||
"immutable": true,
|
||||
@ -115,7 +136,11 @@
|
||||
{ "name": "description", "sqltype": "varchar(128)", "notnull": true },
|
||||
{ "name": "account", "sqltype": "integer", "notnull": true, "foreignkey": true },
|
||||
{ "name": "created_at", "sqltype": "timestamp", "notnull": true, "default": "now()" },
|
||||
{ "name": "amount", "sqltype": "numeric(10,2)", "notnull": true, "selector": 0 }
|
||||
{ "name": "amount", "sqltype": "numeric(10,2)", "notnull": true, "selector": 0 },
|
||||
{ "name": "account_entry_category", "sqltype": "integer", "notnull": true, "foreignkey": true }
|
||||
],
|
||||
"tableConstraints": [
|
||||
"unique(description, account, created_at)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
Reference in New Issue
Block a user