63 lines
3.3 KiB
SQL
63 lines
3.3 KiB
SQL
-- drop dependencies
|
|
alter table if exists fleet_renewal drop constraint if exists fk_fleet_renewal_fleet_sys_pk;
|
|
-- apply changes
|
|
create table reminder (
|
|
sys_pk bigint generated by default as identity not null,
|
|
deleted_on timestamp,
|
|
current_approval_level integer default 0 not null,
|
|
required_approval_levels integer default 0 not null,
|
|
next_renewal_date date,
|
|
last_renewal_date date,
|
|
amount float not null,
|
|
frequency integer not null,
|
|
fleet_sys_pk bigint,
|
|
deleted boolean default false not null,
|
|
version integer default 1 not null,
|
|
created_at timestamp default 'now()' not null,
|
|
modified_at timestamp default 'now()' not null,
|
|
deleted_by varchar(255),
|
|
approval_status varchar(8) default 'APPROVED' not null,
|
|
tags varchar[] default '{}' not null,
|
|
comments jsonb default '[]' not null,
|
|
tenant_id varchar(255) not null,
|
|
type varchar(255) not null,
|
|
documents varchar[],
|
|
created_by varchar(255) not null,
|
|
modified_by varchar(255) not null,
|
|
constraint ck_reminder_approval_status check ( approval_status in ('PENDING','APPROVED','REJECTED')),
|
|
constraint pk_reminder primary key (sys_pk)
|
|
);
|
|
|
|
create table reminder_log (
|
|
sys_pk bigint generated by default as identity not null,
|
|
deleted_on timestamp,
|
|
current_approval_level integer default 0 not null,
|
|
required_approval_levels integer default 0 not null,
|
|
reminder_date date,
|
|
fleet_sys_pk bigint,
|
|
acted_upon boolean default false not null,
|
|
amount float not null,
|
|
deleted boolean default false not null,
|
|
version integer default 1 not null,
|
|
created_at timestamp default 'now()' not null,
|
|
modified_at timestamp default 'now()' not null,
|
|
deleted_by varchar(255),
|
|
approval_status varchar(8) default 'APPROVED' not null,
|
|
tags varchar[] default '{}' not null,
|
|
comments jsonb default '[]' not null,
|
|
tenant_id varchar(255) not null,
|
|
reminder_type varchar(255) not null,
|
|
created_by varchar(255) not null,
|
|
modified_by varchar(255) not null,
|
|
constraint ck_reminder_log_approval_status check ( approval_status in ('PENDING','APPROVED','REJECTED')),
|
|
constraint pk_reminder_log primary key (sys_pk)
|
|
);
|
|
|
|
-- foreign keys and indices
|
|
create index ix_reminder_fleet_sys_pk on reminder (fleet_sys_pk);
|
|
alter table reminder add constraint fk_reminder_fleet_sys_pk foreign key (fleet_sys_pk) references fleet (sys_pk) on delete restrict on update restrict;
|
|
|
|
create index ix_reminder_log_fleet_sys_pk on reminder_log (fleet_sys_pk);
|
|
alter table reminder_log add constraint fk_reminder_log_fleet_sys_pk foreign key (fleet_sys_pk) references fleet (sys_pk) on delete restrict on update restrict;
|
|
|