From 2b8b9f8a5bafe62380949581840ba24a75f48896 Mon Sep 17 00:00:00 2001 From: Wolfgang Ludger Hottgenroth Date: Mon, 28 Jun 2021 13:18:01 +0200 Subject: [PATCH] initial --- initial/schema.sql | 113 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 initial/schema.sql diff --git a/initial/schema.sql b/initial/schema.sql new file mode 100644 index 0000000..023d2f8 --- /dev/null +++ b/initial/schema.sql @@ -0,0 +1,113 @@ +create sequence tenant_s + start with 1 + increment by 1; + +create table tenant_t ( + id integer primary key not null default nextval('tenant_s'), + salutation varchar(128) default null, + firstname varchar(128) default null, + lastname varchar(128) not null, + address1 varchar(128) default null, + address2 varchar(128) default null, + address3 varchar(128) default null, + zip varchar(10) default null, + city varchar(128) default null, + phone1 varchar(64) default null, + phone2 varchar(64) default null, + iban varchar(34) default null +); + +create sequence premise_s + start with 1 + increment by 1; + +create table premise_t ( + id integer primary key not null default nextval('premise_s'), + street varchar(128) not null, + zip varchar(10) not null, + city varchar(128) not null +); + +create sequence rented_object_s + start with 1 + increment by 1; + +create table rented_object_t ( + id integer primary key not null default nextval('rented_object_s'), + comment varchar(32) default null, + premise integer references premise_t(id) +); + +create table flat_t ( + area numeric(10,2) not null, + flat_no integer default null +) inherits (rented_object_t); + +create sequence overhead_advance_s + start with 1 + increment by 1; + +create table overhead_advance_t ( + id integer primary key not null default nextval('overhead_advance_s'), + comment varchar(128) default null, + rented_object integer not null references rented_object_t(id), + amount numeric(10, 4) not null, + startdate date default null, + enddate date default null +); + +create table parking_t ( + +) inherits (rented_object_t); + +create table commercial_premise_t ( + +) inherits (rented_object_t); + +create table tenancy_t ( + tenant integer not null references tenant_t(id), + rented_object integer not null references rented_object_t(id), + startdate date not null, + enddate date default null +); + +create sequence fee_s + start with 1 + increment by 1; + +create table fee_t ( + id integer primary key not null default nextval('fee_s'), + comment varchar(128) default null, + amount numeric(10, 2) not null, + startdate date default null, + enddate date default null +); + +create table rented_object_fee_mapping_t ( + rented_object integer not null references rented_object_t(id), + fee integer not null references fee_t(id) +); + + + +create sequence account_entry_s + start with 1 + increment by 1; + +create table account_entry_t ( + id integer primary key not null default nextval('account_entry_s'), + tenant integer not null references tenant_t(id), + created_at date not null default now(), + amount numeric(10, 2) not null, + comment varchar(32) not null +); + + + +-- create table claim_t ( +-- id integer primary key not null default nextval('claim_s'), +-- key varchar(64) not null, +-- value varchar(64) not null, +-- application integer not null references application(id), +-- unique (key, value) +-- ); \ No newline at end of file