pricing model
This commit is contained in:
@@ -14,6 +14,8 @@ create table measure (
|
||||
,dt_created timestamp NOT NULL default CURRENT_TIMESTAMP -- äàòà çàïèñè
|
||||
,dt_updated timestamp NOT NULL default CURRENT_TIMESTAMP -- äàòà ïîñëåäíåé ìîäèôèêàöèè
|
||||
);
|
||||
ALTER TABLE measure OWNER TO dbo;
|
||||
|
||||
insert into measure (measure, measure_short) values ('øòóêà','øò.');
|
||||
insert into measure (measure, measure_short) values ('êèëîâàòò','êÂò');
|
||||
insert into measure (measure, measure_short) values ('êèëîâàòò-÷àñ','êÂò-÷');
|
||||
@@ -22,6 +24,28 @@ insert into measure (measure, measure_short) values ('
|
||||
insert into measure (measure, measure_short) values ('10000 øò.','10òûñ.øò.');
|
||||
|
||||
|
||||
drop table if exists pricing_model;
|
||||
create table pricing_model (
|
||||
pricing_model_id int PRIMARY KEY NOT NULL
|
||||
,pricing_model varchar(255) NOT NULL
|
||||
,pricing_model_short varchar(255) NOT NULL -- ýòî íå êîä, à êîðîòêîå íàçâàíèå
|
||||
,pricing_model_code char(1) NOT NULL -- ñóôôèêñ
|
||||
,descr text NULL
|
||||
|
||||
,creator_id int NULL
|
||||
,updater_id int NULL
|
||||
,dt_created timestamp NOT NULL default CURRENT_TIMESTAMP -- äàòà çàïèñè
|
||||
,dt_updated timestamp NOT NULL default CURRENT_TIMESTAMP -- äàòà ïîñëåäíåé ìîäèôèêàöèè
|
||||
);
|
||||
insert into pricing_model (pricing_model_id, pricing_model, pricing_model_short, pricing_model_code, descr)
|
||||
values (1, 'Îäíîêðàòíàÿ', 'install', 'i', 'Îäíîêðàòíàÿ èëè èíñòàëëÿöèîííàÿ óñëóãà');
|
||||
insert into pricing_model (pricing_model_id, pricing_model, pricing_model_short, pricing_model_code, descr)
|
||||
values (2, 'Ôèêñèðîâàííàÿ', 'fix', 'f', 'Ôèêñèðîâàííàÿ ðåãóëÿðíàÿ îïëàòà çà îïðåäåëåííûé îáúåì (êâîòó), ÷àñòî allocation èëè reservation. Êàê ïðàâèëî, åæåìåñÿ÷íûé ïëàòåæ, èíîãäà ïîêâàðòàëüíûé, âîçìîæíû è äðóãèå. Allocation íå ýêâèâàëåíòíî Fix.');
|
||||
insert into pricing_model (pricing_model_id, pricing_model, pricing_model_short, pricing_model_code, descr)
|
||||
values (3, 'Ïî ïîòðåáëåíèþ', 'metered', 'm','Îïëàòà ïî ôàêòó ïîòðåáëåíèÿ, metered, PAYG');
|
||||
ALTER TABLE pricing_model OWNER TO dbo;
|
||||
|
||||
|
||||
drop table if exists contragent CASCADE;
|
||||
create table contragent (
|
||||
contragent_id int GENERATED BY DEFAULT AS IDENTITY NOT NULL PRIMARY KEY
|
||||
@@ -126,6 +150,7 @@ create table specification_item (
|
||||
specification_item_uid uuid NOT NULL PRIMARY KEY DEFAULT gen_random_uuid() -- êëþ÷ ñòðîêè
|
||||
,specification_id int NOT NULL --FK
|
||||
,svc_id int NOT NULL --immutable
|
||||
,pricing_model_id int NOT NULL --immutable
|
||||
|
||||
,creator_id int NULL
|
||||
,updater_id int NULL
|
||||
@@ -133,6 +158,7 @@ create table specification_item (
|
||||
,dt_updated timestamp NOT NULL default CURRENT_TIMESTAMP -- äàòà ïîñëåäíåé ìîäèôèêàöèè
|
||||
);
|
||||
ALTER TABLE specification_item OWNER TO dbo;
|
||||
--ALTER TABLE specification_item ADD pricing_model_id int NOT NULL default 2;
|
||||
|
||||
-- âåðñèÿ ñòðîêè ñïåöèôèêàöèè (âåðñèîííîñòü áåðåòñÿ îò ñïåêè)
|
||||
drop table if exists specification_item_version CASCADE;
|
||||
@@ -151,8 +177,10 @@ create table specification_item_version (
|
||||
,dt_created timestamp NOT NULL default CURRENT_TIMESTAMP -- äàòà çàïèñè
|
||||
,dt_updated timestamp NOT NULL default CURRENT_TIMESTAMP -- äàòà ïîñëåäíåé ìîäèôèêàöèè
|
||||
,CONSTRAINT PK_specification_item_version PRIMARY KEY (specification_item_uid, agreement_version)
|
||||
,CONSTRAINT CK_specification_item_version_dt CHECK NOT(dt_from IS NULL AND dt_to IS NULL)
|
||||
);
|
||||
ALTER TABLE specification_item OWNER TO dbo;
|
||||
-- ALTER TABLE specification_item_version ADD CONSTRAINT CK_specification_item_version_dt CHECK(NOT(dt_from IS NULL AND dt_to IS NULL));
|
||||
|
||||
-- ïàðàìåòð (êîìïîíåíò) ñîáñòâåííîé âåðñèîííîñòè íå èìååò, ïðè ñîçäàíèè íîâîé âåðñèè ñòðîêè êëîíèðóåòñÿ
|
||||
drop table if exists specification_item_param CASCADE;
|
||||
|
||||
Reference in New Issue
Block a user