add and update

add and update
This commit is contained in:
zhuxu 2025-05-22 16:09:24 +08:00
parent 75e3290b66
commit d4ca30aa0d
10 changed files with 287 additions and 131 deletions

View File

@ -1,67 +1,96 @@
CREATE SCHEMA IF NOT EXISTS BASIC; CREATE SCHEMA IF NOT EXISTS BASIC;
CREATE TABLE BASIC.ATTRIBUTE_GROUP ( CREATE TABLE BASIC.ATTRIBUTE_GROUP (
ID SERIAL PRIMARY KEY, ID BIGSERIAL PRIMARY KEY,
GROUP_TYPE VARCHAR(64) NOT NULL DEFAULT '', GROUP_TYPE VARCHAR(64) NOT NULL DEFAULT '',
GROUP_NAME VARCHAR(64) NOT NULL DEFAULT '', GROUP_NAME VARCHAR(64) NOT NULL DEFAULT '',
IS_REQUIRED SMALLINT NOT NULL DEFAULT -1, IS_PUBLIC SMALLINT NOT NULL DEFAULT -1,
REMARK VARCHAR(128) NOT NULL DEFAULT '',
UNIQUE(GROUP_TYPE) UNIQUE (GROUP_TYPE)
); );
CREATE TABLE BASIC.DATA_TYPE ( CREATE TABLE BASIC.DATA_TYPE (
ID SERIAL PRIMARY KEY, ID BIGSERIAL PRIMARY KEY,
DATA_TYPE VARCHAR(64) NOT NULL DEFAULT '', DATA_TYPE VARCHAR(64) NOT NULL DEFAULT '',
DATABASE_TYPE VARCHAR(32) NOT NULL DEFAULT '', DATABASE_TYPE VARCHAR(32) NOT NULL DEFAULT '',
UNIQUE(DATA_TYPE) UNIQUE (DATA_TYPE)
);
CREATE TABLE BASIC.MODEL_TYPE (
ID BIGSERIAL PRIMARY KEY,
MODEL_TYPE VARCHAR(64) NOT NULL DEFAULT '',
MODEL_NAME VARCHAR(64) NOT NULL DEFAULT '',
REMARK VARCHAR(128) NOT NULL DEFAULT '',
UNIQUE (MODEL_TYPE)
);
CREATE TABLE BASIC.MODEL_GROUP (
ID BIGSERIAL PRIMARY KEY,
MODEL_TYPE_ID BIGINT NOT NULL,
ATTRIBUTE_GROUP_ID BIGINT NOT NULL,
UNIQUE (MODEL_TYPE_ID, ATTRIBUTE_GROUP_ID),
FOREIGN KEY (MODEL_TYPE_ID) REFERENCES BASIC.MODEL_TYPE (ID) ON DELETE CASCADE,
FOREIGN KEY (ATTRIBUTE_GROUP_ID) REFERENCES BASIC.ATTRIBUTE_GROUP (ID)
); );
CREATE TABLE BASIC.ATTRIBUTE ( CREATE TABLE BASIC.ATTRIBUTE (
ID SERIAL PRIMARY KEY, ID BIGSERIAL PRIMARY KEY,
ATTRIBUTE_GROUP VARCHAR(64) NOT NULL DEFAULT '',
ATTRIBUTE VARCHAR(128) NOT NULL DEFAULT '', ATTRIBUTE VARCHAR(128) NOT NULL DEFAULT '',
DATA_TYPE VARCHAR(64) NOT NULL DEFAULT '', ATTRIBUTE_NAME VARCHAR(64) NOT NULL DEFAULT '',
DATA_TYPE_ID BIGINT NOT NULL,
LENGTH_PRECISION INTEGER NOT NULL DEFAULT -1, LENGTH_PRECISION INTEGER NOT NULL DEFAULT -1,
SCALE INTEGER NOT NULL DEFAULT -1, SCALE INTEGER NOT NULL DEFAULT -1,
IS_NOT_NULL SMALLINT NOT NULL DEFAULT -1, IS_NOT_NULL SMALLINT NOT NULL DEFAULT -1,
DEFAULT_VALUE VARCHAR(64) NOT NULL DEFAULT '', DEFAULT_VALUE VARCHAR(64) NOT NULL DEFAULT '',
VALUE_RANGE VARCHAR(128) NOT NULL DEFAULT ',', VALUE_RANGE VARCHAR(128) NOT NULL DEFAULT ',',
IS_VISIBLE SMALLINT NOT NULL DEFAULT -1,
UNIQUE(ATTRIBUTE), FOREIGN KEY (DATA_TYPE_ID) REFERENCES BASIC.DATA_TYPE (ID)
FOREIGN KEY (DATA_TYPE) REFERENCES BASIC.DATA_TYPE (DATA_TYPE),
FOREIGN KEY (ATTRIBUTE_GROUP) REFERENCES BASIC.ATTRIBUTE_GROUP (GROUP_TYPE)
); );
CREATE TABLE BASIC.ATTRIBUTE_TEMPLATE ( CREATE TABLE BASIC.MODEL_ATTRIBUTE_PUBLIC (
ID SERIAL PRIMARY KEY, ID BIGSERIAL PRIMARY KEY,
TEMPLATE_NAME VARCHAR(64) NOT NULL DEFAULT '', ATTRIBUTE_GROUP_ID BIGINT NOT NULL,
ATTRIBUTE_GROUP VARCHAR(64) NOT NULL DEFAULT '', ATTRIBUTE_ID BIGINT NOT NULL,
DATA_TYPE VARCHAR(64) NOT NULL DEFAULT '',
LENGTH_PRECISION INTEGER NOT NULL DEFAULT -1,
SCALE INTEGER NOT NULL DEFAULT -1,
IS_NOT_NULL SMALLINT NOT NULL DEFAULT -1,
DEFAULT_VALUE VARCHAR(64) NOT NULL DEFAULT '',
VALUE_RANGE VARCHAR(128) NOT NULL DEFAULT '',
FOREIGN KEY (DATA_TYPE) REFERENCES BASIC.DATA_TYPE (DATA_TYPE), UNIQUE (ATTRIBUTE_GROUP_ID, ATTRIBUTE_ID),
FOREIGN KEY (ATTRIBUTE_GROUP) REFERENCES BASIC.ATTRIBUTE_GROUP (GROUP_TYPE)
FOREIGN KEY (ATTRIBUTE_GROUP_ID) REFERENCES BASIC.ATTRIBUTE_GROUP (ID),
FOREIGN KEY (ATTRIBUTE_ID) REFERENCES BASIC.ATTRIBUTE (ID) ON DELETE CASCADE
); );
CREATE TABLE BASIC.MODEL_ATTRIBUTE ( CREATE TABLE BASIC.MODEL_ATTRIBUTE (
ID SERIAL PRIMARY KEY, ID BIGSERIAL PRIMARY KEY,
MODEL_TYPE VARCHAR(64) NOT NULL DEFAULT '', MODEL_TYPE_ID BIGINT NOT NULL,
MODEL_NAME VARCHAR(64) NOT NULL DEFAULT '', ATTRIBUTE_GROUP_ID BIGINT NOT NULL,
ATTRIBUTE_ID INTEGER NOT NULL DEFAULT -1, ATTRIBUTE_ID BIGINT NOT NULL,
REMARK VARCHAR(128) NOT NULL DEFAULT '',
FOREIGN KEY (ATTRIBUTE_ID) REFERENCES BASIC.ATTRIBUTE (ID) UNIQUE (MODEL_TYPE_ID, ATTRIBUTE_GROUP_ID, ATTRIBUTE_ID),
FOREIGN KEY (MODEL_TYPE_ID) REFERENCES BASIC.MODEL_TYPE (ID) ON DELETE CASCADE,
FOREIGN KEY (ATTRIBUTE_GROUP_ID) REFERENCES BASIC.ATTRIBUTE_GROUP (ID),
FOREIGN KEY (ATTRIBUTE_ID) REFERENCES BASIC.ATTRIBUTE (ID) ON DELETE CASCADE
);
CREATE TABLE BASIC.ATTRIBUTE_TEMPLATE (
ID BIGSERIAL PRIMARY KEY,
TEMPLATE_NAME VARCHAR(64) NOT NULL DEFAULT '',
DATA_TYPE_ID BIGINT NOT NULL,
LENGTH_PRECISION INTEGER NOT NULL DEFAULT -1,
SCALE INTEGER NOT NULL DEFAULT -1,
IS_NOT_NULL SMALLINT NOT NULL DEFAULT -1,
FOREIGN KEY (DATA_TYPE_ID) REFERENCES BASIC.DATA_TYPE (ID)
); );
CREATE TABLE BASIC.MODEL_CONNECTIVITY ( CREATE TABLE BASIC.MODEL_CONNECTIVITY (
ID SERIAL PRIMARY KEY, ID BIGSERIAL PRIMARY KEY,
FROM_MODEL VARCHAR (64) NOT NULL DEFAULT '', FROM_MODEL VARCHAR(64) NOT NULL DEFAULT '',
TO_MODEL VARCHAR(64) NOT NULL DEFAULT '', TO_MODEL VARCHAR(64) NOT NULL DEFAULT '',
CONNECTIVITY SMALLINT NOT NULL DEFAULT -1 CONNECTIVITY SMALLINT NOT NULL DEFAULT -1
); );

View File

@ -1,96 +0,0 @@
CREATE SCHEMA IF NOT EXISTS BASIC;
CREATE TABLE BASIC.ATTRIBUTE_GROUP (
ID BIGSERIAL PRIMARY KEY,
GROUP_TYPE VARCHAR(64) NOT NULL DEFAULT '',
GROUP_NAME VARCHAR(64) NOT NULL DEFAULT '',
IS_PUBLIC SMALLINT NOT NULL DEFAULT -1,
REMARK VARCHAR(128) NOT NULL DEFAULT '',
UNIQUE (GROUP_TYPE)
);
CREATE TABLE BASIC.DATA_TYPE (
ID BIGSERIAL PRIMARY KEY,
DATA_TYPE VARCHAR(64) NOT NULL DEFAULT '',
DATABASE_TYPE VARCHAR(32) NOT NULL DEFAULT '',
UNIQUE (DATA_TYPE)
);
CREATE TABLE BASIC.MODEL_TYPE (
ID BIGSERIAL PRIMARY KEY,
MODEL_TYPE VARCHAR(64) NOT NULL DEFAULT '',
MODEL_NAME VARCHAR(64) NOT NULL DEFAULT '',
REMARK VARCHAR(128) NOT NULL DEFAULT '',
UNIQUE (MODEL_TYPE)
);
CREATE TABLE BASIC.MODEL_GROUP (
ID BIGSERIAL PRIMARY KEY,
MODEL_TYPE_ID BIGINT NOT NULL,
ATTRIBUTE_GROUP_ID BIGINT NOT NULL,
UNIQUE (MODEL_TYPE_ID, ATTRIBUTE_GROUP_ID),
FOREIGN KEY (MODEL_TYPE_ID) REFERENCES BASIC.MODEL_TYPE (ID) ON DELETE CASCADE,
FOREIGN KEY (ATTRIBUTE_GROUP_ID) REFERENCES BASIC.ATTRIBUTE_GROUP (ID)
);
CREATE TABLE BASIC.ATTRIBUTE (
ID BIGSERIAL PRIMARY KEY,
ATTRIBUTE VARCHAR(128) NOT NULL DEFAULT '',
ATTRIBUTE_NAME VARCHAR(64) NOT NULL DEFAULT '',
DATA_TYPE_ID BIGINT NOT NULL,
LENGTH_PRECISION INTEGER NOT NULL DEFAULT -1,
SCALE INTEGER NOT NULL DEFAULT -1,
IS_NOT_NULL SMALLINT NOT NULL DEFAULT -1,
DEFAULT_VALUE VARCHAR(64) NOT NULL DEFAULT '',
VALUE_RANGE VARCHAR(128) NOT NULL DEFAULT ',',
IS_VISIBLE SMALLINT NOT NULL DEFAULT -1,
FOREIGN KEY (DATA_TYPE_ID) REFERENCES BASIC.DATA_TYPE (ID)
);
CREATE TABLE BASIC.MODEL_ATTRIBUTE_PUBLIC (
ID BIGSERIAL PRIMARY KEY,
ATTRIBUTE_GROUP_ID BIGINT NOT NULL,
ATTRIBUTE_ID BIGINT NOT NULL,
UNIQUE (ATTRIBUTE_GROUP_ID, ATTRIBUTE_ID),
FOREIGN KEY (ATTRIBUTE_GROUP_ID) REFERENCES BASIC.ATTRIBUTE_GROUP (ID),
FOREIGN KEY (ATTRIBUTE_ID) REFERENCES BASIC.ATTRIBUTE (ID) ON DELETE CASCADE
);
CREATE TABLE BASIC.MODEL_ATTRIBUTE (
ID BIGSERIAL PRIMARY KEY,
MODEL_TYPE_ID BIGINT NOT NULL,
ATTRIBUTE_GROUP_ID BIGINT NOT NULL,
ATTRIBUTE_ID BIGINT NOT NULL,
UNIQUE (MODEL_TYPE_ID, ATTRIBUTE_GROUP_ID, ATTRIBUTE_ID),
FOREIGN KEY (MODEL_TYPE_ID) REFERENCES BASIC.MODEL_TYPE (ID) ON DELETE CASCADE,
FOREIGN KEY (ATTRIBUTE_GROUP_ID) REFERENCES BASIC.ATTRIBUTE_GROUP (ID),
FOREIGN KEY (ATTRIBUTE_ID) REFERENCES BASIC.ATTRIBUTE (ID) ON DELETE CASCADE
);
CREATE TABLE BASIC.ATTRIBUTE_TEMPLATE (
ID BIGSERIAL PRIMARY KEY,
TEMPLATE_NAME VARCHAR(64) NOT NULL DEFAULT '',
DATA_TYPE_ID BIGINT NOT NULL,
LENGTH_PRECISION INTEGER NOT NULL DEFAULT -1,
SCALE INTEGER NOT NULL DEFAULT -1,
IS_NOT_NULL SMALLINT NOT NULL DEFAULT -1,
FOREIGN KEY (DATA_TYPE_ID) REFERENCES BASIC.DATA_TYPE (ID)
);
CREATE TABLE BASIC.MODEL_CONNECTIVITY (
ID BIGSERIAL PRIMARY KEY,
FROM_MODEL VARCHAR(64) NOT NULL DEFAULT '',
TO_MODEL VARCHAR(64) NOT NULL DEFAULT '',
CONNECTIVITY SMALLINT NOT NULL DEFAULT -1
);

View File

@ -34,4 +34,5 @@ VALUES
('TIMESTAMP','postgres'), ('TIMESTAMP','postgres'),
('UUID','postgres'), ('UUID','postgres'),
('JSON','postrges'), ('JSON','postrges'),
('JSONB','postgres'); ('JSONB','postgres'),
('polar_coordinates','postgres');

11
model/ddl_0_bay.sql Normal file
View File

@ -0,0 +1,11 @@
-- basic information of bay
DROP TABLE IF EXISTS PUBLIC.BAY;
CREATE TABLE PUBLIC.BAY (
ID SERIAL PRIMARY KEY,
NAME VARCHAR(64) NOT NULL DEFAULT '',
TYPE VARCHAR(64) NOT NULL DEFAULT '',
FROM_NODE JSONB NOT NULL DEFAULT '{}',
TO_NODE JSONB NOT NULL DEFAULT '{}'
);

View File

@ -0,0 +1,9 @@
-- standard component type
DROP TABLE IF EXISTS PUBLIC.COMPONENT_TYPE;
CREATE TABLE PUBLIC.COMPONENT_TYPE (
ID SERIAL PRIMARY KEY,
TYPE VARCHAR(64) NOT NULL DEFAULT '',
NAME VARCHAR(64) NOT NULL DEFAULT ''
);

94
model/ddl_0_gzs.sql Normal file
View File

@ -0,0 +1,94 @@
-- Active: 1731588378271@@vm.baseware.net@9432@metamodule@public
-- drop public.station
DROP TABLE IF EXISTS public.station;
DROP SEQUENCE IF EXISTS public.station_id_seq;
-- drop public.zone
DROP TABLE IF EXISTS public.zone;
DROP SEQUENCE IF EXISTS public.zone_id_seq;
-- drop public.grid
DROP TABLE IF EXISTS public.grid;
DROP SEQUENCE IF EXISTS public.grid_id_seq;
-- public.grid
CREATE SEQUENCE IF NOT EXISTS public.grid_id_seq;
ALTER SEQUENCE public.grid_id_seq
OWNER TO postgres;
CREATE TABLE IF NOT EXISTS public.grid
(
id integer NOT NULL DEFAULT nextval('grid_id_seq'::regclass),
name character varying(64) COLLATE pg_catalog."default" NOT NULL,
description character varying(512) COLLATE pg_catalog."default",
op integer NOT NULL DEFAULT '-1'::integer,
ts timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT grid_id_PrimaryKey PRIMARY KEY (id)
)
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public.grid
OWNER to postgres;
-- public.zone
CREATE SEQUENCE IF NOT EXISTS public.zone_id_seq;
ALTER SEQUENCE public.zone_id_seq
OWNER TO postgres;
CREATE TABLE IF NOT EXISTS public.zone
(
id integer NOT NULL DEFAULT nextval('zone_id_seq'::regclass),
grid_id integer,
name character varying(64) COLLATE pg_catalog."default" NOT NULL,
description character varying(512) COLLATE pg_catalog."default",
op integer NOT NULL DEFAULT '-1'::integer,
ts timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT zone_id_PrimaryKey PRIMARY KEY (id),
CONSTRAINT zone_ForeignKey_grid_id FOREIGN KEY ("grid_id")
REFERENCES public.grid (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID
)
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public.zone
OWNER to postgres;
-- public.station
CREATE SEQUENCE IF NOT EXISTS public.station_id_seq;
ALTER SEQUENCE public.station_id_seq
OWNER TO postgres;
CREATE TABLE IF NOT EXISTS public.station
(
id integer NOT NULL DEFAULT nextval('station_id_seq'::regclass),
zone_id integer,
name character varying(64) COLLATE pg_catalog."default" NOT NULL,
description character varying(512) COLLATE pg_catalog."default",
is_local boolean DEFAULT false,
op integer NOT NULL DEFAULT '-1'::integer,
ts timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT station_id_PrimaryKey PRIMARY KEY (id),
CONSTRAINT station_ForeignKey_zone_id FOREIGN KEY (zone_id)
REFERENCES public.zone (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID
)
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public.station
OWNER to postgres;

View File

@ -0,0 +1,10 @@
-- measurement of bay
DROP TABLE IF EXISTS PUBLIC.MEASUREMENT;
CREATE TABLE PUBLIC.MEASUREMENT (
ID SERIAL PRIMARY KEY,
TAG VARCHAR(64) NOT NULL DEFAULT '',
NAME VARCHAR(64) NOT NULL DEFAULT '',
BAY_ID INTEGER NOT NULL DEFAULT -1
);

30
model/ddl_1_page.sql Normal file
View File

@ -0,0 +1,30 @@
-- drop public.page
DROP TABLE IF EXISTS public.page;
DROP SEQUENCE IF EXISTS public.page_id_seq;
-- public.page
CREATE SEQUENCE IF NOT EXISTS public.page_id_seq;
ALTER SEQUENCE public.page_id_seq
OWNER TO postgres;
CREATE TABLE IF NOT EXISTS public.page
(
id integer NOT NULL DEFAULT nextval('page_id_seq'::regclass),
tag character varying(32) COLLATE pg_catalog."default" NOT NULL,
name character varying(64) COLLATE pg_catalog."default" NOT NULL,
label jsonb NOT NULL DEFAULT '{}'::jsonb,
context jsonb NOT NULL DEFAULT '{}'::jsonb,
description character varying(512) COLLATE pg_catalog."default" NOT NULL DEFAULT ''::character varying,
op integer NOT NULL DEFAULT '-1'::integer,
ts timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT page_id_PrimaryKey PRIMARY KEY (id)
)
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public.page
OWNER to postgres;

43
model/ddl_2_component.sql Normal file
View File

@ -0,0 +1,43 @@
-- Table: public.component
-- DROP
DROP TABLE IF EXISTS public.component;
DROP SEQUENCE IF EXISTS public.component_id_seq;
-- CREATE
CREATE SEQUENCE IF NOT EXISTS public.component_id_seq;
CREATE TABLE IF NOT EXISTS public.component
(
id integer NOT NULL DEFAULT nextval('component_id_seq'::regclass),
global_uuid uuid NOT NULL DEFAULT gen_random_uuid(),
nspath character varying(32) COLLATE pg_catalog."default",
tag character varying(32) COLLATE pg_catalog."default" NOT NULL,
name character varying(64) COLLATE pg_catalog."default" NOT NULL,
model_name character varying(64) COLLATE pg_catalog."default" NOT NULL,
description character varying(512) COLLATE pg_catalog."default" NOT NULL DEFAULT ''::character varying,
grid character varying(64) COLLATE pg_catalog."default" NOT NULL,
zone character varying(64) COLLATE pg_catalog."default" NOT NULL,
station character varying(64) COLLATE pg_catalog."default" NOT NULL,
type integer NOT NULL,
in_service boolean DEFAULT false,
state integer NOT NULL DEFAULT 0,
status integer NOT NULL DEFAULT '-1'::integer, -- 编辑是否完成
connection jsonb NOT NULL DEFAULT '{}'::jsonb,
label jsonb NOT NULL DEFAULT '{}'::jsonb,
context jsonb NOT NULL DEFAULT '{}'::jsonb,
op integer NOT NULL DEFAULT '-1'::integer,
ts timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT component_id_PrimaryKey PRIMARY KEY (id)
)
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public.component
OWNER to postgres;
COMMENT ON TABLE public.component
IS '存储电网元件的基本信息';

25
model/ddl_3_topologic.sql Normal file
View File

@ -0,0 +1,25 @@
-- Table: public.topologic
DROP TABLE IF EXISTS public.topologic;
DROP SEQUENCE IF EXISTS public.topologic_id_seq;
CREATE SEQUENCE IF NOT EXISTS public.topologic_id_seq;
CREATE TABLE IF NOT EXISTS public.topologic
(
id integer NOT NULL DEFAULT nextval('topologic_id_seq'::regclass),
uuid_from uuid,
uuid_to uuid,
from_pin uuid,
to_pin uuid,
flag integer DEFAULT 0,
description character varying(512) COLLATE pg_catalog."default",
op integer NOT NULL DEFAULT '-1'::integer,
ts timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT topologic_id_PrimaryKey PRIMARY KEY (id)
)
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public.topologic
OWNER to postgres;