This commit is contained in:
Wolfgang Hottgenroth 2021-06-28 13:18:01 +02:00
commit 2b8b9f8a5b
Signed by: wn
GPG Key ID: 6C1E5E531E0D5D7F

113
initial/schema.sql Normal file
View File

@ -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)
-- );