113 lines
2.9 KiB
MySQL
113 lines
2.9 KiB
MySQL
|
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)
|
||
|
-- );
|