2024-03-18 16:07:01 +05:30

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;