initial draft
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
create table if not exists: не заменяет декларацию... затупил, не догадался
|
||||
drop table if exists;
|
||||
|
||||
14:04 17.04.2023
|
||||
ERROR: operator does not exist: uuid = character varying
|
||||
Использовать для POSTGRESQL UUID: CF GUID+CF_SQL_OTHER
|
||||
|
||||
Ошибка при записи в базу данных. ERROR: column "is_payg" is of type bit but expression is of type boolean Подсказка: You will need to rewrite or cast the expression. Позиция: 723 То же самое работает для abstract_service_param_class.cfm ???
|
||||
Очень странная разница: в abstract_service_param_class.cfm числа в d возвращаются как числа, а в tariff как строки
|
||||
Ошибка: в БД нужно boolean, а в форме bit (транслируется в cf_sql_bit)
|
||||
Теперь проблема с датой - добавил формат, ок. timestamp для Postgre работает
|
||||
|
||||
Message ERROR: invalid input syntax for type uuid: ""
|
||||
Где: unnamed portal parameter $1 = ''
|
||||
SQL select count(*) as cnt
|
||||
from service_tariff
|
||||
where 1=1
|
||||
AND service_tariff_guid=
|
||||
DatabaseName PostgreSQL
|
||||
DatabaseVersion 15.1
|
||||
DriverName PostgreSQL JDBC Driver
|
||||
DriverVersion 42.6.0
|
||||
Datasource svc
|
||||
Stacktrace The Error Occurred in
|
||||
D:\wwwroot\svc3\lib\data\bean.cfm: line 94
|
||||
- и как это работает для INT? ответ: <cfif !keyInvalid> (а у нас other... когда был idstam, все было однозначно, но с Postgre почему-то idstamp не работает - "Использовать для POSTGRESQL UUID: CF GUID+CF_SQL_OTHER" - вероятно, надо сделать свои типы и маппинг чуть сложнее, чем cf_sql_#type#)
|
||||
|
||||
ошибка в dispatch_detail.cfm, рассчитанном на целочисленный id
|
||||
|
||||
для idstamp
|
||||
ERROR: operator does not exist: uuid = character
|
||||
Подсказка: No operator matches the given name and argument types. You might need to add explicit type casts.
|
||||
Позиция: 96
|
||||
для other
|
||||
ERROR: invalid input syntax for type uuid: ""
|
||||
Где: unnamed portal parameter $1 = ''
|
||||
Но! в соседнем шаблоне tariff.cfm "other" работает, и в этом раньше работало - разница была в вызове, в одном случае было пустая строка, в другом отсутствовал параметр
|
||||
@@ -0,0 +1,238 @@
|
||||
/*Êàòàëîã óñëóã
|
||||
Ïîääåðæêà êîìïîçèòíûõ óñëóã
|
||||
Ïîääåðæêà âàðèàòèâíîñòè óñëóãè
|
||||
Ïîääåðæêà âàðèàòèâíîñòè ïàðàìåòðà
|
||||
Ïðàéñ-ëèñò
|
||||
*/
|
||||
|
||||
-- ìîæíî äîáàâèòü áàçîâûå åäèíèöû è ïåðåñ÷åò
|
||||
if exists (select * from sysobjects where name='measure') drop table measure
|
||||
create table measure (
|
||||
measure_id int identity PRIMARY KEY NOT NULL
|
||||
,measure varchar(255) NOT NULL
|
||||
,measure_short varchar(9) NOT NULL
|
||||
,measure_short_en varchar(9) NULL
|
||||
,descr varchar(MAX) NULL
|
||||
)
|
||||
go
|
||||
|
||||
insert into measure (measure, measure_short) values ('øòóêà','øò.')
|
||||
insert into measure (measure, measure_short) values ('êèëîâàòò','êÂò')
|
||||
insert into measure (measure, measure_short) values ('êèëîâàòò-÷àñ','êÂò-÷')
|
||||
insert into measure (measure, measure_short) values ('ãèãàãåðö','ÃÃö')
|
||||
insert into measure (measure, measure_short) values ('ãèãàáàéò','ÃÁàéò')
|
||||
insert into measure (measure, measure_short) values ('10000 øò.','10òûñ.øò.')
|
||||
|
||||
go
|
||||
|
||||
if exists (select * from sysobjects where name='service_type') drop table service_type
|
||||
create table service_type (
|
||||
service_type_id int PRIMARY KEY NOT NULL
|
||||
,service_type varchar(255) NOT NULL
|
||||
)
|
||||
go
|
||||
|
||||
insert into service_type (service_type_id, service_type) values (1,'èíñòàëëÿöèîííàÿ')
|
||||
insert into service_type (service_type_id, service_type) values (2,'ïåðèîäè÷åñêàÿ') -- ïåðèîä ôèêñèðóåòñÿ â êîíòðàêòå, ïî óìîë÷àíèþ ìåñÿö
|
||||
insert into service_type (service_type_id, service_type) values (3,'òàðèôèöèðóåìàÿ')
|
||||
go
|
||||
|
||||
-- âàðèàíò âûáèðàåòñÿ èç ãðóïïû. Ýòî, ñêîðåå, íå ñåìàíòèêà ïðåäìåòíîé îáëàñòè, à èñêóññòâåííàÿ êîíñòðóêöèÿ
|
||||
-- âàðèàíò çàäàåòñÿ îïðåäåëÿþùåé õàðàêòåðèñòèêîé, êîòîðàÿ ìîæåò êîìáèíèðîâàòü íåñêîëüêî óñëîâèé
|
||||
if exists (select * from sysobjects where name='modifier_class') drop table modifier_class
|
||||
create table modifier_class (
|
||||
modifier_class_id int identity PRIMARY KEY NOT NULL
|
||||
,modifier_class varchar(255) NOT NULL
|
||||
,descr varchar(MAX) NULL
|
||||
)
|
||||
go
|
||||
|
||||
-- çíà÷åíèå ìîäèôèêàòîðà
|
||||
if exists (select * from sysobjects where name='modifier') drop table modifier
|
||||
create table modifier (
|
||||
modifier_id int identity PRIMARY KEY NOT NULL
|
||||
,modifier_class_id int NOT NULL
|
||||
,modifier varchar(255) NOT NULL
|
||||
,modifier_en varchar(255) NULL
|
||||
,descr varchar(MAX) NULL
|
||||
)
|
||||
go
|
||||
--alter table modifier add modifier_en varchar(255) NULL
|
||||
|
||||
-- ýêâèâàëåíò íîìåíêëàòóðû â 1Ñ
|
||||
|
||||
if exists (select * from sysobjects where name='abstract_service') drop table abstract_service
|
||||
create table abstract_service (
|
||||
abstract_service_id int identity PRIMARY KEY NOT NULL
|
||||
,abstract_service varchar(255) NOT NULL
|
||||
,service_type_id INT NOT NULL
|
||||
,modifier_class_id INT NULL -- migrated from service (no support for multiple modifier classes)
|
||||
,code varchar(31) NOT NULL
|
||||
,version int NOT NULL
|
||||
,descr varchar(MAX) NULL
|
||||
)
|
||||
go
|
||||
|
||||
/*
|
||||
-- ïðèøëîñü âûäåëèòü ýòó ñóùíîñòü
|
||||
-- âåðîÿòíî, äëÿ áîëüøèíñòâà íîìåíêëàòóð îíà íå íóæíà (ïðèäåòñÿ äîáàâëÿòü òðèâèàëüíóþ),
|
||||
-- äîñòàòî÷íî ìèãðàöèè àòðèáóòà modifier_class_id â abstract_service
|
||||
if exists (select * from sysobjects where name='service_class') drop table service_class
|
||||
create table service_class (
|
||||
service_class_id int identity PRIMARY KEY NOT NULL
|
||||
,abstract_service_id int NOT NULL
|
||||
,modifier_class_id INT NULL
|
||||
--,service_class varchar(255) NOT NULL -- íå èñïîëüçóåòñÿ
|
||||
,descr varchar(MAX) NULL
|
||||
)
|
||||
go
|
||||
*/
|
||||
|
||||
-- êîíêðåòíûé âàðèàíò ñåðâèñà
|
||||
-- â 1Ñ ðåàëèçóåòñÿ ËÈÁÎ ôîðìîé êîìïîíîâêè, ËÈÁÎ ìîäèôèêàöèåé íîìåíêëàòóðû
|
||||
-- ìîäèôèêàòîð îòíîñèòñÿ ê ôîðìå êîìïîíîâêè
|
||||
-- ôîðìà êîìïîíîâêè åñòü äëÿ ëþáîé êîíêðåòíîé êîìïëåêñíîé (êîìïîçèòíîé) íîìåíêëàòóðû, îíà îïðåäåëÿåò ñîñòàâ ïàðàìåòðîâ
|
||||
-- ïðè ýòîì îíà ñâÿçûâàåòñÿ ëèáî ñ íîìåíêëàòóðîé, ëèáî ñ êîíêðåòíîé ðåàëèçàöèåé íîìåíêëàòóðû
|
||||
if exists (select * from sysobjects where name='service') drop table service
|
||||
create table service (
|
||||
service_id int identity PRIMARY KEY NOT NULL
|
||||
,abstract_service_id int NOT NULL
|
||||
,modifier_id INT NULL
|
||||
--,service varchar(255) NOT NULL -- íå èñïîëüçóåòñÿ
|
||||
,descr varchar(MAX) NULL
|
||||
,measure_id int NULL --*** ìèãðèðîâàòü â àáñòðàêòíóþ óñëóãó?
|
||||
,precision int NULL
|
||||
,base_price decimal(15,4) NULL
|
||||
,CONSTRAINT UK_abstract_service_modifier UNIQUE(abstract_service_id, modifier_id)
|
||||
)
|
||||
go
|
||||
--alter table service add measure_id int NULL
|
||||
--alter table service add precision int NULL
|
||||
--alter table service add base_price decimal(15,4) NULL
|
||||
--alter table service add CONSTRAINT UK_abstract_service_modifier UNIQUE(abstract_service_id, modifier_id)
|
||||
|
||||
-- íàäî ïðîâåðÿòü, ïàðàìåòðû äëÿ âàðèàíòà ðåàëèçàöèè âñåãäà ñîáñòâåííûå, ëèáî øàðÿòñÿ
|
||||
-- áóäåò ïîíÿòíî ïðè âûãðóçêå
|
||||
if exists (select * from sysobjects where name='param_class') drop table param_class
|
||||
create table param_class (
|
||||
param_class_id int identity PRIMARY KEY NOT NULL
|
||||
,param_class varchar(255) NOT NULL
|
||||
,measure_id int NULL
|
||||
/*,precision int NULL
|
||||
,show_in_spec bit NOT NULL*/
|
||||
,descr varchar(MAX) NULL
|
||||
)
|
||||
go
|
||||
|
||||
if exists (select * from sysobjects where name='param') drop table param
|
||||
create table param (
|
||||
param_id int identity PRIMARY KEY NOT NULL
|
||||
,param_class_id int NULL--NOT NULL
|
||||
,param varchar(255) NOT NULL
|
||||
,measure_id int NULL -- overrides param_class.measure
|
||||
,precision int NULL -- *** âèäèìî, ïîñòóïèòü, êàê ñ åäèíèöåé èçìåðåíèÿ, â param_class.precision øàáëîí
|
||||
--,show_in_spec bit NOT NULL default 1
|
||||
,base_price decimal(15,4) NULL -- Íà ñàìîì äåëå áàçîâûå öåíû îòäåëüíî, ýòî îáåñïå÷èâàåò âåðñèîííîñòü ïðàéñ-ëèñòà
|
||||
,descr varchar(MAX) NULL
|
||||
)
|
||||
|
||||
--alter table param add base_price decimal(15,4) NULL
|
||||
--alter table param add measure_id int NULL
|
||||
go
|
||||
-- ñîñòàâ ïàðàìåòðîâ, ýêâèâàëåíò òàáëè÷íîé ÷àñòè ôîðìû êîìïîíîâêè
|
||||
-- øàáëîí
|
||||
-- â ñåðâèñå äîëæíû áûòü ïëåéñõîëäåðû äëÿ ïàðàìåòðîâ, îïðåäåëÿåìûõ ïðè ôîðìèðîâàíèè ñïåöèôèêàöèè è ôèêñèðîâàííûå ïàðàìåòðû
|
||||
|
||||
-- ìîæíî ñäåëàòü 2 òàáëèöû: øàáëîí ïàðàìåòðîâ è öåíû ïàðàìåòðîâ
|
||||
-- ïðè ýòîì çàïèñè äëÿ ïðîñòûõ ïàðàìåòðîâ áóäóò äóáëèðîâàòüñÿ 1:1, à äëÿ âàðèàòèâíûõ 1:n
|
||||
if exists (select * from sysobjects where name='service_param') drop table service_param
|
||||
create table service_param (
|
||||
service_param_id int identity PRIMARY KEY NOT NULL
|
||||
,service_id int NOT NULL -- FK
|
||||
--,modifier_id int NULL -- FK êîíòåêñò âàðèàíòà
|
||||
,param_class_id int NULL -- êîíêðåòíûé ïàðàìåòð ìîæåò âûáèðàòüñÿ ïðè ââîäå ñïåöèôèêàöèè. Â 1Ñ ýòî ðåøàåòñÿ òàê: åñëè ó ïàðàìåòðà åñòü ïîòîìêè, âûáîð â ñïåöèôèêàöèè
|
||||
,param_id int NULL
|
||||
--,base_price decimal(15,4) NULL -- Íàñëåäîâàòü îò ïàðàìåòðà. Íà ñàìîì äåëå áàçîâûå öåíû îòäåëüíî, ýòî îáåñïå÷èâàåò âåðñèîííîñòü ïðàéñ-ëèñòà
|
||||
,descr varchar(MAX) NULL
|
||||
,CONSTRAINT CK_param_xor_class CHECK (((param_class_id IS NULL) AND NOT (param_id IS NULL)) OR ((param_id IS NULL) AND NOT (param_class_id IS NULL)))
|
||||
-- óäàëèòü îãðàíè÷åíèå, â êîíòåêñòå óñëóãè äîëæíû áûòü çàäàíû òàêæå öåíû êîíêðåòíûõ ïàðàìåòðîâ
|
||||
-- alter table service_param drop CONSTRAINT CK_param_xor_class
|
||||
)
|
||||
go
|
||||
|
||||
-- åñëè â service_param óêàçàí êîíêðåòíûé ïàðàìåòð, òî îòíîøåíèå 1:1, åñëè êëàññ - òî 1:n
|
||||
-- â äàëüíåéøåì ìîæíî ñäåëàòü âåðñèîííîñòü öåí
|
||||
-- íå òîëüêî öåíû, íî è âàðèàíòû âûáîðà äëÿ àáñòðàêòíûõ ïàðàìåòðîâ
|
||||
if exists (select * from sysobjects where name='service_param_price') drop table service_param_price
|
||||
create table service_param_price (
|
||||
service_param_price_id int identity PRIMARY KEY NOT NULL
|
||||
,service_param_id int NOT NULL -- FK, äëÿ êîíêðåòíûõ ïàðàìåòðîâ 1:1. Êàê ýòî çàùèòèòü îãðàíè÷åíèÿìè, íå ïðèäóìàë
|
||||
--,param_class_id int NOT NULL
|
||||
,param_id int NOT NULL
|
||||
,base_price decimal(15,4) NULL -- Íàñëåäîâàòü îò ïàðàìåòðà, äëÿ óäîáñòâà. Íà ñàìîì äåëå áàçîâûå öåíû äîëæíû âåñòèñü îòäåëüíî, ýòî îáåñïå÷èâàåò âåðñèîííîñòü ïðàéñ-ëèñòà
|
||||
CONSTRAINT UK_service_param_price UNIQUE (service_param_id, param_id)
|
||||
)
|
||||
go
|
||||
|
||||
|
||||
|
||||
if exists (select * from sysobjects where name='specification') drop table specification
|
||||
create table specification (
|
||||
specification_id int identity PRIMARY KEY NOT NULL
|
||||
,specification varchar(255) NOT NULL
|
||||
,descr varchar(MAX) NULL
|
||||
)
|
||||
go
|
||||
|
||||
|
||||
if exists (select * from sysobjects where name='specification_item') drop table specification_item
|
||||
create table specification_item (
|
||||
specification_item_id int identity PRIMARY KEY NOT NULL
|
||||
,specification_id int NOT NULL
|
||||
,service_id int NOT NULL
|
||||
--,modifier_id int NULL
|
||||
,specification_item varchar(1023) NOT NULL -- èìÿ äëÿ ïå÷àòè
|
||||
,quantity decimal(15,4) NULL
|
||||
,price decimal(15,4) NULL -- äëÿ êîìïîçèòíûõ ñåðâèñîâ ðàñ÷åò ïî ïàðàìåòðàì
|
||||
)
|
||||
go
|
||||
--alter table specification_item alter column specification_item varchar (1023) NOT NULL
|
||||
|
||||
if exists (select * from sysobjects where name='specification_item_param') drop table specification_item_param
|
||||
create table specification_item_param (
|
||||
specification_item_param_id int identity PRIMARY KEY NOT NULL
|
||||
,specification_item_id int NOT NULL
|
||||
,service_param_id int NOT NULL -- åñëè ïàðàìåòð êîíêðåòíûé, òî param_id îòñþäà
|
||||
,param_id int NULL -- åñëè â ñåðâèñå çàäàí òîëüêî êëàññ ïàðàìåòðà, òî çäåñü íàäî êîíêðåòèçèðîâàòü *** Ìîæíî äåíîðìàëèçîâàòü, âñåãäà ïîìåùàÿ ñþäà çíà÷åíèå
|
||||
,quantity decimal(15,4) NULL
|
||||
,price decimal(15,4) NULL
|
||||
)
|
||||
go
|
||||
|
||||
----------------------------------------
|
||||
--9:00 24.09.2020
|
||||
-- ýòî íå ÖÎÄû, à ïëîùàäêè
|
||||
if exists (select * from sysobjects where name='site') drop table site
|
||||
create table site (
|
||||
site_id int identity PRIMARY KEY NOT NULL
|
||||
,site varchar(255) NOT NULL
|
||||
,descr varchar(MAX) NULL
|
||||
)
|
||||
go
|
||||
|
||||
insert into site(site) values('ÖÎÄ ÌÌÒÑ-9')
|
||||
insert into site(site) values('ÖÎÄ ÌÌÒÑ-10')
|
||||
insert into site(site) values('ÖÎÄ Êóð÷àòîâñêèé')
|
||||
insert into site(site) values('ÖÎÄ Îñòàïîâñêèé')
|
||||
insert into site(site) values('ÖÎÄ Óäîìëÿ')
|
||||
insert into site(site) values('ÖÎÄ Åêàòåðèíáóðã')
|
||||
insert into site(site) values('ÖÎÄ Àäëåð')
|
||||
insert into site(site) values('ÖÎÄ NORD')
|
||||
insert into site(site) values('ÖÎÄ OST')
|
||||
go
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
REM set Windows env
|
||||
setx datasource_svc_class org.postgresql.Driver /M
|
||||
setx datasource_svc_connectionString jdbc:postgresql://localhost:5432/svc /M
|
||||
setx datasource_svc_username postgres /M
|
||||
setx datasource_svc_password encrypted:8ea2101f286dfcf2947cb2162e927cb769b3f845b6d4c57ef2ae89463d72d97842a2228c7ba562a24ee8eaf728350ab6 /M
|
||||
setx datasource_svc_connectionLimit 5 /M
|
||||
|
||||
pause
|
||||
+409
@@ -0,0 +1,409 @@
|
||||
/*Ñïåöèôèêàöèè ñ âåðñèîííîñòüþ
|
||||
|
||||
*/
|
||||
|
||||
-- ìîæíî äîáàâèòü áàçîâûå åäèíèöû è ïåðåñ÷åò
|
||||
drop table if exists measure CASCADE;
|
||||
create table measure (
|
||||
measure_id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY NOT NULL
|
||||
,measure varchar(255) NOT NULL
|
||||
,measure_short varchar(9) NOT 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 measure (measure, measure_short) values ('øòóêà','øò.');
|
||||
insert into measure (measure, measure_short) values ('êèëîâàòò','êÂò');
|
||||
insert into measure (measure, measure_short) values ('êèëîâàòò-÷àñ','êÂò-÷');
|
||||
insert into measure (measure, measure_short) values ('ãèãàãåðö','ÃÃö');
|
||||
insert into measure (measure, measure_short) values ('ãèãàáàéò','ÃÁàéò');
|
||||
insert into measure (measure, measure_short) values ('10000 øò.','10òûñ.øò.');
|
||||
|
||||
|
||||
drop table if exists contragent CASCADE;
|
||||
create table contragent (
|
||||
contragent_id int GENERATED BY DEFAULT AS IDENTITY NOT NULL PRIMARY KEY
|
||||
,contragent varchar(255) NULL
|
||||
,descr text NULL -- comments
|
||||
,is_provider bool NOT NULL DEFAULT false
|
||||
,external_uid uuid NULL
|
||||
,external_code varchar(255) NULL --WZ
|
||||
,dt_created timestamptz NOT NULL default CURRENT_TIMESTAMP -- âðåìÿ çàïèñè ïî ÷àñàì ñåðâåðà ÁÄ
|
||||
,creator_id int NULL -- èäåíòèôèêàòîð ïîëüçîâàòåëÿ, ñîçäàâøåãî çàïèñü
|
||||
,dt_updated timestamptz NOT NULL default CURRENT_TIMESTAMP
|
||||
,updater_id int NULL -- èäåíòèôèêàòîð ïîëüçîâàòåëÿ, îáíîâèâøåãî çàïèñü
|
||||
);
|
||||
ALTER TABLE contragent OWNER TO dbo;
|
||||
-- äàííûå äëÿ òåñòèðîâàíèÿ
|
||||
insert into contragent (contragent, is_provider) values ('NUBES', true); -- ïðåäïîëàãàåòñÿ, ÷òî ïðîâàéäåð òîëüêî îäèí, íî ýòî íå ïîääåðæèâàåòñÿ îãðàíè÷åíèÿìè
|
||||
insert into contragent (contragent) values
|
||||
('Ðîãà è Êîïûòà ÎÎÎ')
|
||||
,('Ëþòèê ÇÀÎ')
|
||||
;
|
||||
|
||||
|
||||
drop table if exists contract CASCADE;
|
||||
create table contract (
|
||||
contract_id int GENERATED BY DEFAULT AS IDENTITY NOT NULL PRIMARY KEY
|
||||
,contragent_id int NOT NULL
|
||||
,contract varchar(255) NULL -- íîìåð êîíòðàêòà
|
||||
,dt_contract timestamptz NOT NULL
|
||||
,is_closed bool NOT NULL default false
|
||||
,dt_closed timestamptz NULL -- äàòà çàâåðøåíèÿ êîíòðàêòà
|
||||
|
||||
,descr text NULL -- comments
|
||||
,dt_created timestamptz NOT NULL default CURRENT_TIMESTAMP --
|
||||
,creator_id int NULL -- èäåíòèôèêàòîð ïîëüçîâàòåëÿ, ñîçäàâøåãî çàïèñü
|
||||
,dt_updated timestamptz NOT NULL default CURRENT_TIMESTAMP --
|
||||
,updater_id int NULL -- èäåíòèôèêàòîð ïîëüçîâàòåëÿ, îáíîâèâøåãî çàïèñü
|
||||
);
|
||||
ALTER TABLE contract OWNER TO dbo;
|
||||
insert into contract (contragent_id,contract,dt_contract) values (2,'test',CURRENT_TIMESTAMP);
|
||||
|
||||
-- ñîãëàøåíèå îáåñïå÷èâàåò ÿâíóþ ïðèêëàäíóþ âåðñèîííîñòü
|
||||
drop table if exists agreement CASCADE;
|
||||
create table agreement (
|
||||
--agreement_id int GENERATED BY DEFAULT AS IDENTITY NOT NULL PRIMARY KEY
|
||||
--,
|
||||
contract_id int NOT NULL
|
||||
,agreement_version int NOT NULL
|
||||
,agreement varchar(255) NULL -- íàçâàíèå ñîãëàøåíèÿ
|
||||
,dt_agreement timestamptz NOT NULL -- ôîðìàëüíàÿ äàòà, íå ñâÿçàíà ñ âåðñèîííîñòüþ (ìîæåò áûòü, ïîðÿäîê)
|
||||
,is_actual boolean NOT NULL -- ñ÷èòàåì, ÷òî íà äîãîâîð 1 äåéñòâóþùåå ñîãëàøåíèå - êîòîðûå äî íåãî, òå óñòàðåëè, êîòîðûå ïîñëå, òå â ïðîåêòå
|
||||
|
||||
,descr text NULL
|
||||
,dt_created timestamptz NOT NULL default CURRENT_TIMESTAMP --
|
||||
,creator_id int NULL -- èäåíòèôèêàòîð ïîëüçîâàòåëÿ, ñîçäàâøåãî çàïèñü
|
||||
,dt_updated timestamptz NOT NULL default CURRENT_TIMESTAMP --
|
||||
,updater_id int NULL -- èäåíòèôèêàòîð ïîëüçîâàòåëÿ, îáíîâèâøåãî çàïèñü
|
||||
,CONSTRAINT PK_agreement PRIMARY KEY (contract_id, agreement_version)
|
||||
);
|
||||
ALTER TABLE agreement OWNER TO dbo;
|
||||
insert into agreement (contract_id,agreement_version,dt_agreement,is_actual) values (1,0,CURRENT_TIMESTAMP,true);
|
||||
|
||||
-- øàïêà ñïåöèôèêàöèè, íå âåðñèîííàÿ (íå òåìïîðàëüíàÿ)
|
||||
drop table if exists specification CASCADE;
|
||||
create table specification (
|
||||
specification_id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY NOT NULL
|
||||
,specification varchar(255) NOT NULL
|
||||
,contract_id int 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 -- äàòà ïîñëåäíåé ìîäèôèêàöèè
|
||||
);
|
||||
ALTER TABLE specification OWNER TO dbo;
|
||||
insert into specification (specification,contract_id) values ('first spec',1);
|
||||
|
||||
|
||||
-- íà ñîãëàøåíèå äîëæíà áûòü îäíà àêòóàëüíàÿ âåðñèÿ ñïåöèôèêàöèè
|
||||
drop table if exists specification_version CASCADE;
|
||||
create table specification_version (
|
||||
specification_id int
|
||||
,agreement_version int NOT NULL -- FK agreement
|
||||
|
||||
,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 -- äàòà ïîñëåäíåé ìîäèôèêàöèè
|
||||
,CONSTRAINT PK_specification_version PRIMARY KEY (specification_id, agreement_version)
|
||||
);
|
||||
ALTER TABLE specification_version OWNER TO dbo;
|
||||
|
||||
-- ñòðîêà ñïåöèôèêàöèè
|
||||
drop table if exists specification_item CASCADE;
|
||||
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
|
||||
|
||||
,creator_id int NULL
|
||||
,updater_id int NULL
|
||||
,dt_created timestamp NOT NULL default CURRENT_TIMESTAMP -- äàòà çàïèñè
|
||||
,dt_updated timestamp NOT NULL default CURRENT_TIMESTAMP -- äàòà ïîñëåäíåé ìîäèôèêàöèè
|
||||
);
|
||||
ALTER TABLE specification_item OWNER TO dbo;
|
||||
|
||||
-- âåðñèÿ ñòðîêè ñïåöèôèêàöèè (âåðñèîííîñòü áåðåòñÿ îò ñïåêè)
|
||||
drop table if exists specification_item_version CASCADE;
|
||||
create table specification_item_version (
|
||||
specification_item_uid uuid NOT NULL -- êëþ÷ ñòðîêè
|
||||
,agreement_version int NOT NULL -- ÂÀÆÍÎ: åñëè ñòðîêà íå ðåäàêòèðîâàëàñü - âåðñèÿ áóäåò ñòàðîé (ýêîíîìèì âåðñèé, *** íî ìîæíî ñäåëàòü òàáëèöó, ñîáèðàþùóþ âåðñèè ñòðîê)
|
||||
,dt_from timestamptz NULL
|
||||
,dt_to timestamptz NULL
|
||||
|
||||
,specification_item_version varchar(1023) NOT NULL -- èìÿ äëÿ ïå÷àòè
|
||||
,quantity decimal(15,4) NULL
|
||||
,price decimal(15,4) 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 -- äàòà ïîñëåäíåé ìîäèôèêàöèè
|
||||
,CONSTRAINT PK_specification_item_version PRIMARY KEY (specification_item_uid, agreement_version)
|
||||
);
|
||||
ALTER TABLE specification_item OWNER TO dbo;
|
||||
|
||||
-- ïàðàìåòð (êîìïîíåíò) ñîáñòâåííîé âåðñèîííîñòè íå èìååò, ïðè ñîçäàíèè íîâîé âåðñèè ñòðîêè êëîíèðóåòñÿ
|
||||
drop table if exists specification_item_param CASCADE;
|
||||
create table specification_item_param (
|
||||
specification_item_param_id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY NOT NULL
|
||||
,specification_item_uid uuid NOT NULL
|
||||
,agreement_version int NOT NULL
|
||||
|
||||
,service_param_id int NOT NULL
|
||||
,quantity decimal(15,4) NULL
|
||||
,price decimal(15,4) 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 -- äàòà ïîñëåäíåé ìîäèôèêàöèè
|
||||
);
|
||||
ALTER TABLE specification_item_param OWNER TO dbo;
|
||||
|
||||
|
||||
drop table if exists svc CASCADE;
|
||||
CREATE TABLE svc (
|
||||
svc_id integer NOT NULL,
|
||||
svc character varying(255),
|
||||
descr text,
|
||||
dt_created timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
creator_id integer,
|
||||
dt_updated timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
updater_id integer,
|
||||
is_production_ready boolean DEFAULT false NOT NULL,
|
||||
code character varying(255),
|
||||
man text,
|
||||
svc_short character varying(255),
|
||||
resource_realm_type_id integer,
|
||||
version character varying(255),
|
||||
orchestrator_name character varying(255),
|
||||
sort integer
|
||||
);
|
||||
ALTER TABLE svc OWNER TO dbo;
|
||||
|
||||
INSERT INTO svc VALUES (92, 'k8s_mongodb', '', '2024-09-09 12:53:00.022+03', 3, '2024-09-09 12:53:00.022+03', 3, false, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO svc VALUES (95, 'NodeJS - ñåðâåð ïðèëîæåíèé', 'Îáðàç: node:16', '2024-12-10 17:57:41.06+03', 3, '2025-03-07 18:12:53.508+03', 3, true, '', 'Îáðàç: node:16', 'nodejs', 3, '0.0.6', 'Node', NULL);
|
||||
INSERT INTO svc VALUES (50, 'Nextcloud - ïëàòôîðìà ñîâìåñòíîé ðàáîòû', 'Ðåñóðñíàÿ ïëàòôîðìà: k8s. Àâòîìàòèçàöèÿ: helm chart', '2024-09-09 12:51:27.551+03', 3, '2025-02-28 18:11:26.017+03', 3, true, '', 'Ðåñóðñíàÿ ïëàòôîðìà: k8s. Àâòîìàòèçàöèÿ: helm chart', 'nextcloud', 3, '0.0.3', 'Nextcloud', NULL);
|
||||
INSERT INTO svc VALUES (21, 'Âèðòóàëüíûé ÄÖ äëÿ VM (vc_vdc)', 'Âèðòóàëüíûé ÄÖ â Cloud Director. Òðåáóåò íàëè÷èå Îðãàíèçàöèè', '2024-04-08 10:59:07.350806+03', NULL, '2025-02-12 15:42:07.821+03', 10, false, '', 'Âèðòóàëüíûé ÄÖ â Cloud Director. Òðåáóåò íàëè÷èå Îðãàíèçàöèè', '', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO svc VALUES (26, 'vApp äëÿ VM (vc_vapp)', 'Ïàïêà â êëàóä äèðåêòîðå. Äëÿ óñòàíîâêè íóæåí vc_nsxt', '2024-12-23 14:54:46.277+03', 3, '2025-02-12 15:42:46.017+03', 10, false, '', 'Ïàïêà â êëàóä äèðåêòîðå. Äëÿ óñòàíîâêè íóæåí vc_nsxt', '', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO svc VALUES (111, 'DNS-çàïèñü', '', '2024-09-17 14:22:05.028+03', 11, '2025-02-28 16:45:10.351+03', 3, true, '', '', 'dnsrecord', 4, '0.0.4', 'Records', NULL);
|
||||
INSERT INTO svc VALUES (13, 'S3 áàêåò (s3_bucket)', 'Òðåáóåò íàëè÷èÿ ó÷åòíîé çàïèñì S3<br/>Ðåñóðñíàÿ ïëàòôîðìà: Ceph', '2024-12-11 23:19:43.469+03', 3, '2025-02-28 16:43:49.758+03', 3, true, '', 'Òðåáóåò íàëè÷èÿ ó÷åòíîé çàïèñì S3<br/>Ðåñóðñíàÿ ïëàòôîðìà: Ceph', 's3bucket', 1, '0.0.3', 'Bucket', NULL);
|
||||
INSERT INTO svc VALUES (20, 'Îðãàíèçàöèÿ äëÿ VM â Cloud Director (vc_organization)', 'Îðãàíèçàöèÿ â êëàóä äèðåêòîðå', '2024-04-08 10:59:07.350806+03', NULL, '2025-02-12 15:41:57.046+03', 10, false, '', 'Îðãàíèçàöèÿ â êëàóä äèðåêòîðå', '', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO svc VALUES (12, 'S3 - ó÷åòíàÿ çàïèñü', 'S3 account, ðåñóðñíàÿ ïëàòôîðìà CEPH (S3 CEPH). Íàñòðîåí ñáîð ìåòðèê, àâòîìàòèçàöèÿ áèëëèíãà â ðàçðàáîòêå', '2024-04-08 10:59:07.350806+03', NULL, '2025-02-28 16:42:41.829+03', 3, true, '', 'S3 account, ðåñóðñíàÿ ïëàòôîðìà CEPH (S3 CEPH). Íàñòðîåí ñáîð ìåòðèê, àâòîìàòèçàöèÿ áèëëèíãà â ðàçðàáîòêå', 's3', 1, '1.0.0', 'Ceph', NULL);
|
||||
INSERT INTO svc VALUES (32, 'PostgreSQL íà ÂÌ (vc_vm_postgresql_std)', 'Ñåðâèñ íàñòðîéêè PostgreSQL äëÿ âèðòóàëüíîé ìàøèíû.<br/>Òðåáóåò íàëè÷èÿ ÂÌ<br/><br/>Âåðñèÿ Postgre - 17', '2024-08-05 12:47:46.275+03', 3, '2025-02-12 15:42:55.441+03', 10, false, '', 'Ñåðâèñ íàñòðîéêè PostgreSQL äëÿ âèðòóàëüíîé ìàøèíû.<br/>Òðåáóåò íàëè÷èÿ ÂÌ<br/><br/>Âåðñèÿ Postgre - 17', '', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO svc VALUES (100, 'tenantOpenwhisk', 'Äîáàâëåíèå è óäàëåíèÿ ïîëüçîâàòåëÿ äëÿ ðàáîòû ñ Openwhisk', '2024-09-12 13:43:55.166+03', 3, '2024-12-26 13:06:02.166+03', 3, false, '', 'Äîáàâëåíèå è óäàëåíèÿ ïîëüçîâàòåëÿ äëÿ ðàáîòû ñ Openwhisk', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO svc VALUES (25, 'Âíåøíèé IP àäðåñ äëÿ VM (vc_external_ip)', 'Ñîçäàíèå external Ip â Cloud Director. <br/>Òðåáóåò íàëè÷èå óñëóãè', '2024-12-12 16:32:45.488+03', 3, '2025-02-28 16:47:42.541+03', 3, true, '', 'Ñîçäàíèå external Ip â Cloud Director. <br/>Òðåáóåò íàëè÷èå óñëóãè', 'vcexternalip', 2, '0.0.2', 'Ip', NULL);
|
||||
INSERT INTO svc VALUES (96, 'pgAdmin - êîíñîëü äëÿ PostgreSQL', '', '2024-12-10 18:28:43.874+03', 3, '2025-02-28 17:48:10.242+03', 3, true, '', '', 'pgadmin', 3, '0.0.2', 'Pgadmin', NULL);
|
||||
INSERT INTO svc VALUES (110, 'DNS-çîíà', '', '2024-09-16 18:52:52.357+03', 11, '2025-02-28 16:45:17.753+03', 3, true, '', '', 'dnszone', 4, '0.0.3', 'Zones', NULL);
|
||||
INSERT INTO svc VALUES (99, 'k8s_gitea', '', '2025-02-28 17:18:32.548+03', 3, '2025-02-28 17:43:41.652+03', 3, true, '', '', '', 3, '0.0.1', 'Gitea', NULL);
|
||||
INSERT INTO svc VALUES (82, 'Harbor Registry (registry_k8s)', 'Harbor Registry. Ðåñóðñíàÿ ïëàòôîðìà: k8s. Àâòîìàòèçàöèÿ: helm chart. Àâòîðèçàöèÿ: keycloak', '2024-09-09 12:52:04.345+03', 3, '2025-02-28 18:09:50.071+03', 3, true, '', 'Harbor Registry. Ðåñóðñíàÿ ïëàòôîðìà: k8s. Àâòîìàòèçàöèÿ: helm chart. Àâòîðèçàöèÿ: keycloak', 'harbor', 3, '0.0.2', 'Registry', NULL);
|
||||
INSERT INTO svc VALUES (2, 'k8sTemplate', '', '2025-02-28 17:06:21.371+03', 3, '2025-02-28 17:06:48.617+03', 3, false, '', '', '', 3, '0.0.1', 'Template', NULL);
|
||||
INSERT INTO svc VALUES (23, 'VM â Cloud Director (vc_vm)', 'Âèðòóàëüíàÿ ìàøèíà áåç êàêèõ-ëèáî îñîáåííîñòåé. <br/>Äàííàÿ óñëóãà çàïóñêàåò vc_ip äëÿ âûäà÷è áåëîãî àäðåñà è ïîäêëþ÷åíèÿ ê ÂÌ', '2024-08-02 12:53:13.869+03', 3, '2025-02-12 15:42:20.771+03', 10, false, '', 'Âèðòóàëüíàÿ ìàøèíà áåç êàêèõ-ëèáî îñîáåííîñòåé. <br/>Äàííàÿ óñëóãà çàïóñêàåò vc_ip äëÿ âûäà÷è áåëîãî àäðåñà è ïîäêëþ÷åíèÿ ê ÂÌ', '', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO svc VALUES (91, 'Redis In-Memory DB Cluster on k8s', 'Redis êëàñòåð. Ïîä êåøè. <br/>Ðåñóðñíàÿ ïëàòôîðìà: k8s. <br/>Àâòîìàòèçàöèÿ: k8s operator<br/>port 6379', '2024-09-09 12:52:49.473+03', 3, '2025-03-07 11:39:36.69+03', 3, true, '', '', 'redis', 3, '0.0.3', 'Redis', NULL);
|
||||
INSERT INTO svc VALUES (81, 'Apache Superset - àíàëèòè÷åñêèé ñåðâåð (superset_k8s)', 'Apache Superset êàê ñåðâèñ. <br/>Ðåñóðñíàÿ ïëàòôîðìà: k8s. <br/>Àâòîìàòèçàöèÿ: k8s operator.<br/>Àâòîðèçàöèÿ: 2FA keycloak (äëÿ äîìåííîãî ëîãèíà @mgmt.nubes.ru)', '2024-09-09 12:51:49.122+03', 3, '2025-02-28 18:09:54.127+03', 3, true, '', 'Apache Superset êàê ñåðâèñ. <br/>Ðåñóðñíàÿ ïëàòôîðìà: k8s. <br/>Àâòîìàòèçàöèÿ: k8s operator.<br/>Àâòîðèçàöèÿ: 2FA keycloak (äëÿ äîìåííîãî ëîãèíà @mgmt.nubes.ru)', 'superset', 3, '0.0.1', 'Superset', NULL);
|
||||
INSERT INTO svc VALUES (22, 'Ñåòåâûå àäàïòåðû äëÿ VM (vc_nsxt)', '', '2024-04-08 10:59:07.350806+03', NULL, '2025-02-28 17:19:33.266+03', 3, false, '', '', '', NULL, '', '', NULL);
|
||||
INSERT INTO svc VALUES (93, 'RabbitMQ - ñåðâåð î÷åðåäåé (rabbitmq_k8s)', 'RabbitMQ', '2024-09-09 12:53:09.059+03', 3, '2025-03-07 11:39:29.483+03', 3, true, '', '', 'rabbitmq', 3, '0.0.3', 'Rabbitmq', NULL);
|
||||
INSERT INTO svc VALUES (90, 'PostgreSQL RDBMS Cluster', 'PostgreSQL êëàñòåð. Ðåñóðñíàÿ ïëàòôîðìà: k8s. Àâòîìàòèçàöèÿ: k8s operator.<br/>Àâòîìàòè÷åñêîå ðåçåðâíîå êîïèðîâàíèå, ðó÷íîå âîññòàíîâëåíèå.', '2024-09-09 12:52:34.457+03', 3, '2025-03-12 10:36:06.529+03', 3, true, '', 'PostgreSQL êëàñòåð. Ðåñóðñíàÿ ïëàòôîðìà: k8s. Àâòîìàòèçàöèÿ: k8s operator.<br/>Àâòîìàòè÷åñêîå ðåçåðâíîå êîïèðîâàíèå, ðó÷íîå âîññòàíîâëåíèå.', 'postgres', 3, '0.0.5', 'Pgsql', NULL);
|
||||
INSERT INTO svc VALUES (98, 'k8s_simple_http_container', '', '2025-02-28 17:18:40.813+03', 3, '2025-02-28 17:43:48.248+03', 3, true, '', '', 'http', 3, '0.0.3', 'SimpleHttpContainer', NULL);
|
||||
INSERT INTO svc VALUES (94, 'Lucee - ñåðâåð ïðèëîæåíèé', 'Îáðàç: lucee/lucee:latest', '2024-12-10 16:53:24.068+03', 3, '2025-03-10 10:13:04.713+03', 3, true, '', 'Îáðàç: lucee/lucee:latest', 'lucee', 3, '0.0.9', 'Lucee', NULL);
|
||||
INSERT INTO svc VALUES (1, 'dummy service', 'Áîëâàíêà äëÿ òåñòîâ', '2024-04-19 19:10:30.206+03', 3, '2025-04-30 19:00:08.473+03', 10, true, '', '', 'dummy', 7, '', 'dummy', NULL);
|
||||
INSERT INTO svc VALUES (112, 'grafana_tenant', '', '2025-03-12 12:30:15.669+03', 3, '2025-04-28 18:40:23.781+03', 10, false, '', '', 'tenant', 6, '0.0.2', 'Tenant', NULL);
|
||||
|
||||
ALTER TABLE ONLY svc
|
||||
ADD CONSTRAINT PK_svc PRIMARY KEY (svc_id);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-------------------------------------------------------------------------
|
||||
-- IAM
|
||||
-------------------------------------------------------------------------
|
||||
-- usr is normally shared view
|
||||
drop table if exists usr;
|
||||
create table usr(
|
||||
usr_id int GENERATED BY DEFAULT AS IDENTITY(START WITH 11) PRIMARY KEY NOT NULL
|
||||
,firstname varchar(255) NULL
|
||||
,middlename varchar(255) NULL
|
||||
,lastname varchar(255) NOT NULL
|
||||
,login varchar(255) NOT NULL
|
||||
,password varchar(255) NULL -- changed from varbinary for postgre and Argon2
|
||||
,email varchar(255) NOT NULL
|
||||
,phone_cell varchar(50) NULL
|
||||
,descr text NULL
|
||||
,settings text NULL
|
||||
,locked boolean NOT NULL CONSTRAINT DF_usr_locked DEFAULT(false)
|
||||
|
||||
,creator_id int NULL
|
||||
,updater_id int NULL
|
||||
,dt_created timestamp NOT NULL default CURRENT_TIMESTAMP -- äàòà çàïèñè
|
||||
,dt_updated timestamp NOT NULL default CURRENT_TIMESTAMP -- äàòà ïîñëåäíåé ìîäèôèêàöèè
|
||||
|
||||
,fullname varchar GENERATED ALWAYS AS ((lastname||rtrim(' '||coalesce(firstname,'')))||rtrim(' '||coalesce(middlename,''))) STORED
|
||||
,shortname varchar GENERATED ALWAYS AS (replace((lastname||rtrim(' '||coalesce(left(firstname,(1))||'.','')))||rtrim(' '||coalesce(left(middlename,(1))||'.','')),' .','')) STORED
|
||||
);
|
||||
create unique index UX_login on usr(login);
|
||||
insert into usr (usr_id,firstname,middlename,lastname,login,password,email,phone_cell)
|
||||
values (2,'','','Àíîíèìíûé ïîëüçîâàòåëü','anonymous',null,'',null);
|
||||
insert into usr (usr_id,firstname,middlename,lastname,login,password,email,phone_cell)
|
||||
values (10,'Ñåðãåé','Þðüåâè÷','Ìèùóê','smishchuk','$argon2id$v=19$m=500,t=3,p=4$d37RBdizC3rwQfINGSoQmg$Bwvr1f+RQf9hpXwV58sgUYzYpupp7iUzfUBACGApT80','msyu@mail.ru',null);
|
||||
|
||||
------------------------------
|
||||
|
||||
drop table if exists obj;
|
||||
create table obj ( --
|
||||
obj varchar(63) NOT NULL PRIMARY KEY
|
||||
,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 -- äàòà ïîñëåäíåé ìîäèôèêàöèè
|
||||
);
|
||||
|
||||
drop table if exists role;
|
||||
create table role ( --
|
||||
role_id int /*identity*/ NOT NULL PRIMARY KEY
|
||||
,role varchar(255) 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 role (role_id,role) values (1,'Àäìèíèñòðàòîð');
|
||||
insert into role (role_id,role) values (2,'×èòàòåëü'); -- òîëüêî ÷òåíèå îãðàíè÷åííîãî ñïèñêà ýêðàíîâ
|
||||
|
||||
|
||||
drop table if exists usr_role;
|
||||
create table usr_role ( --
|
||||
role_id int NOT NULL
|
||||
,usr_id int NOT NULL
|
||||
,CONSTRAINT PK_usr_role primary key (usr_id, role_id)
|
||||
|
||||
,creator_id int NULL
|
||||
,dt_created timestamp NOT NULL default CURRENT_TIMESTAMP -- äàòà çàïèñè
|
||||
);
|
||||
insert into usr_role (role_id,usr_id) values (2,2);
|
||||
insert into usr_role (role_id,usr_id) values (1,10);
|
||||
|
||||
|
||||
drop table if exists acl;
|
||||
create table acl(
|
||||
obj varchar(63) NOT NULL
|
||||
,role_id int NOT NULL
|
||||
,permission int NOT NULL -- 1=READ 2=WRITE
|
||||
|
||||
,creator_id int NULL
|
||||
,modifier_id int NULL
|
||||
,dt_created timestamp NOT NULL default CURRENT_TIMESTAMP -- äàòà çàïèñè
|
||||
,dt_modified timestamp NOT NULL default CURRENT_TIMESTAMP -- äàòà ïîñëåäíåé ìîäèôèêàöèè
|
||||
,CONSTRAINT PK_acl PRIMARY KEY (obj, role_id)
|
||||
);
|
||||
|
||||
|
||||
/* insert into obj (obj,descr) values ('abstract_service','Àáñòðàêòíàÿ óñëóãà êàòàëîãà');
|
||||
insert into obj (obj,descr) values ('price','Ïðàéñ-ëèñò áàçîâûé');
|
||||
|
||||
insert into obj (obj,descr) values ('service','Óñëóãà (ðàçâåðíóòûé êàòàëîã)');
|
||||
insert into obj (obj,descr) values ('abstract_service_rpt','Êàòàëîã');
|
||||
insert into obj (obj,descr) values ('price_rpt','Ïðàéñ-ëèñò: óñëóãà ñ ïàðàìåòðîì');
|
||||
insert into obj (obj,descr) values ('export','Îò÷åòû ýêñïîðòà');
|
||||
|
||||
insert into obj (obj,descr) values ('modifier_class','Êëàññ õàðàêòåðèñòèêè');
|
||||
insert into obj (obj,descr) values ('modifier','Õàðàêòåðèñòèêà');
|
||||
insert into obj (obj,descr) values ('param_class','Êëàññ ïàðàìåòðà');
|
||||
insert into obj (obj,descr) values ('param','Ïàðàìåòð');
|
||||
insert into obj (obj,descr) values ('measure','Åäèíèöà èçìåðåíèÿ');
|
||||
insert into obj (obj,descr) values ('site','Òàðèôíàÿ çîíà');
|
||||
insert into obj (obj,descr) values ('provider','Ïîñòàâùèê (ÄÇÎ)');
|
||||
insert into obj (obj,descr) values ('area','Ãðóïïà êàòàëîãà');
|
||||
|
||||
insert into obj (obj,descr) values ('service_param','Ïàðàìåòð êîíêðåòíîé óñëóãè');
|
||||
|
||||
insert into obj (obj,descr) values ('specification','Ñïåöèôèêàöèÿ');
|
||||
insert into obj (obj,descr) values ('specification_item','Ñòðîêà ñïåöèôèêàöèè');
|
||||
insert into obj (obj,descr) values ('specification_item_param','Ðåñóðñ ñòðîêè ñïåöèôèêàöèè (ýêçåìïëÿðà óñëóãè)');
|
||||
|
||||
insert into obj (obj,descr) values ('usr','Ïîëüçîâàòåëü');
|
||||
insert into obj (obj,descr) values ('acl','Ïðàâà äîñòóïà');
|
||||
|
||||
insert into obj (obj,descr) values ('service_param_price','Öåíà êîìïîíåíòà');
|
||||
insert into obj (obj,descr) values ('service_price','Öåíà óñëóãè');
|
||||
|
||||
insert into obj (obj,descr) values ('abstract_service_complementary','Äîïîëíèòåëüíàÿ óñëóãà'); */
|
||||
|
||||
|
||||
/* --÷èòàòåëü
|
||||
insert into acl(obj,role_id,permission) values ('abstract_service',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('price',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('service',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('abstract_service_rpt',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('abstract_service_doc',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('price_rpt',2,1);
|
||||
|
||||
insert into acl(obj,role_id,permission) values ('modifier_class',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('modifier',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('param_class',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('param',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('measure',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('site',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('provider',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('area',2,1);
|
||||
|
||||
insert into acl(obj,role_id,permission) values ('specification',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('specification_item',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('specification_item_param',2,1);
|
||||
|
||||
insert into acl(obj,role_id,permission) values ('service_param',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('abstract_service_param_class',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('service_param_price',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('service_price',2,1);
|
||||
insert into acl(obj,role_id,permission) values ('abstract_service_complementary',2,1);
|
||||
|
||||
--àäìèí
|
||||
insert into acl(obj,role_id,permission) values ('abstract_service',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('price',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('service',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('abstract_service_rpt',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('abstract_service_doc',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('price_rpt',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('export',1,2);
|
||||
|
||||
insert into acl(obj,role_id,permission) values ('modifier_class',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('modifier',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('param_class',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('param',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('measure',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('site',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('provider',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('area',1,2);
|
||||
|
||||
insert into acl(obj,role_id,permission) values ('specification',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('specification_item',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('specification_item_param',1,2);
|
||||
|
||||
|
||||
insert into acl(obj,role_id,permission) values ('usr',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('acl',1,2);
|
||||
|
||||
insert into acl(obj,role_id,permission) values ('service_param',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('abstract_service_param_class',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('service_param_price',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('service_price',1,2);
|
||||
insert into acl(obj,role_id,permission) values ('abstract_service_complementary',1,2); */
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user