diff --git a/create.sql b/create.sql deleted file mode 100644 index 2b3cff2..0000000 --- a/create.sql +++ /dev/null @@ -1,615 +0,0 @@ --- Postgres --- 建表DDL --- 默认schema是public --- 默认tablespace是pg_default --- 默认的索引结构btree - --- 操作人员数据权限 --- DROP TABLE IF EXISTS operator_right; -CREATE TABLE operator_right ( - id SERIAL PRIMARY KEY, - name VARCHAR(64) NOT NULL DEFAULT '', - level SMALLINT NOT NULL DEFAULT -1, -- 角色级别:0 超管;1 网;2 区;3 站;4 元;5 点; - rights JSONB NOT NULL DEFAULT '[]', -- operator_right.rights - -- - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); -COMMENT ON TABLE operator_right IS '操作人员权限'; -COMMENT ON COLUMN operator_right.id IS 'id'; -COMMENT ON COLUMN operator_right.name IS '人员姓名'; -COMMENT ON COLUMN operator_right.level IS '角色级别'; -COMMENT ON COLUMN operator_right.rights IS '人员权限'; -COMMENT ON COLUMN operator_right.op IS '操作人id'; -COMMENT ON COLUMN operator_right.ts IS '操作时间'; - - --- 操作日志 --- DROP TABLE IF EXISTS operation_log; -CREATE TABLE operation_log ( - id BIGSERIAL PRIMARY KEY, - type VARCHAR(64) NOT NULL DEFAULT '', -- 增/删/改:1 增;2 删;3 改; - - detail TEXT NOT NULL DEFAULT '', -- 在网/区/站进行增/删/改了什么 - - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); -CREATE INDEX op_at_key ON operation_log(ts); -COMMENT ON TABLE operation_log IS '操作日志'; -COMMENT ON COLUMN operation_log.id IS 'id'; -COMMENT ON COLUMN operation_log.type IS '操作类型'; -COMMENT ON COLUMN operation_log.detail IS '操作详情'; -COMMENT ON COLUMN operation_log.op IS '操作人id'; -COMMENT ON COLUMN operation_log.ts IS '操作时间'; - - --- 事件识别的条件 --- DROP TABLE IF EXISTS event_condition; -CREATE TABLE event_condition ( - id SERIAL PRIMARY KEY, - -- how to discribe the condition? json? (condition_windows) - com_type VARCHAR(64) NOT NULL DEFAULT '', -- 元件类型(bus) - phy_type VARCHAR(64) NOT NULL DEFAULT '', -- 物理量类型(v) - condition JSONB NOT NULL DEFAULT '{}', - -- inner fields: threshold_unit,threshold,duration_unit,duration - - -- 信号量事件的分类如何表达(warn/alarm?) - event_type VARCHAR(64) NOT NULL DEFAULT '', -- 如何分类型(模拟量lower_warn/lower_alarm/upper_warn/upper_alarm) - event_name VARCHAR(64) NOT NULL DEFAULT '', - event_level SMALLINT NOT NULL DEFAULT -1, -- 0/1/2... - - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); -COMMENT ON TABLE event_condition IS '事件识别条件'; -COMMENT ON COLUMN event_condition.id IS '事件识别条件id'; -COMMENT ON COLUMN event_condition.com_type IS '元件类型'; -COMMENT ON COLUMN event_condition.phy_type IS '物理量类型'; -COMMENT ON COLUMN event_condition.condition IS '事件识别条件'; -COMMENT ON COLUMN event_condition.event_type IS '事件类型'; -COMMENT ON COLUMN event_condition.event_name IS '事件名称'; -COMMENT ON COLUMN event_condition.event_level IS '事件级别'; -COMMENT ON COLUMN event_condition.op IS '操作人id'; -COMMENT ON COLUMN event_condition.ts IS '操作时间'; - - --- 事件记录 --- 事件的redis数据记录格式: --- DROP TABLE IF EXISTS events; -CREATE TABLE events ( - id BIGSERIAL PRIMARY KEY, - type VARCHAR(64) NOT NULL DEFAULT '', -- 如何分类型 - name VARCHAR(64) NOT NULL DEFAULT '', - level SMALLINT NOT NULL DEFAULT -1, -- 0/1/2... 级别需要定义 - - refer_data JSONB NOT NULL DEFAULT '{}', -- events.refer_data - - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); -COMMENT ON TABLE events IS '事件记录'; -COMMENT ON COLUMN events.event_id IS '事件id'; -COMMENT ON COLUMN events.event_type IS '事件类型'; -COMMENT ON COLUMN events.event_name IS '事件名称'; -COMMENT ON COLUMN events.event_level IS '事件级别'; -COMMENT ON COLUMN events.refer_data IS '引用数据'; -COMMENT ON COLUMN events.op IS '操作人id'; -COMMENT ON COLUMN events.ts IS '操作时间'; - - --- 案例记录 --- DROP TABLE IF EXISTS cases; -CREATE TABLE cases ( - id BIGSERIAL PRIMARY KEY, - type VARCHAR(64) NOT NULL DEFAULT '', -- 如何分类型 - name VARCHAR(64) NOT NULL DEFAULT '', - level SMALLINT NOT NULL DEFAULT -1, -- 0/1/2... 级别需要定义 - - refer_data JSONB NOT NULL DEFAULT '{}', -- cases.refer_data - - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); -COMMENT ON TABLE cases IS '案例记录'; -COMMENT ON COLUMN cases.id IS '案例id'; -COMMENT ON COLUMN cases.case_type IS '案例类型'; -COMMENT ON COLUMN cases.case_name IS '案例名称'; -COMMENT ON COLUMN cases.case_level IS '案例级别'; -COMMENT ON COLUMN cases.refer_data IS '引用数据'; -COMMENT ON COLUMN cases.op IS '操作人id'; -COMMENT ON COLUMN cases.ts IS '操作时间'; - - --- DROP TABLE IF EXISTS grid; -CREATE TABLE grid ( - id SERIAL PRIMARY KEY, - tag VARCHAR(32) NOT NULL DEFAULT '', -- 是不是最好在tag中保持一个前缀(对象类型)? - name VARCHAR(64) NOT NULL DEFAULT '', - discription VARCHAR(512) NOT NULL DEFAULT '', - - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - - UNIQUE(tag) -); -COMMENT ON TABLE grid IS '电网'; -COMMENT ON COLUMN grid.id IS 'id'; -COMMENT ON COLUMN grid.tag IS '标签'; -COMMENT ON COLUMN grid.name IS '名称'; -COMMENT ON COLUMN grid.discription IS '描述'; -COMMENT ON COLUMN grid.op IS '操作人id'; -COMMENT ON COLUMN grid.ts IS '操作时间'; - - --- DROP TABLE IF EXISTS zone; -CREATE TABLE zone ( - id SERIAL PRIMARY KEY, - tag VARCHAR(32) NOT NULL DEFAULT '', - name VARCHAR(64) NOT NULL DEFAULT '', - discription VARCHAR(512) NOT NULL DEFAULT '', - - grid_id INTEGER NOT NULL DEFAULT -1, - - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - - FOREIGN KEY(grid_id) REFERENCES grid(id), - UNIQUE(tag) -); -COMMENT ON TABLE zone IS '区域'; -COMMENT ON COLUMN zone.id IS 'id'; -COMMENT ON COLUMN zone.tag IS '标签'; -COMMENT ON COLUMN zone.name IS '名字'; -COMMENT ON COLUMN zone.discription IS '描述'; -COMMENT ON COLUMN zone.grid_id IS '电网id'; -COMMENT ON COLUMN zone.op IS '操作人id'; -COMMENT ON COLUMN zone.ts IS '操作时间'; - - --- DROP TABLE IF EXISTS station; -CREATE TABLE station ( - id SERIAL PRIMARY KEY, - tag VARCHAR(32) NOT NULL DEFAULT '', - name VARCHAR(64) NOT NULL DEFAULT '', - discription VARCHAR(512) NOT NULL DEFAULT '', - is_local BOOLEAN NOT NULL DEFAULT FALSE, - - grid_id INTEGER NOT NULL DEFAULT -1, - zone_id INTEGER NOT NULL DEFAULT -1, - - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - - FOREIGN KEY(grid_id) REFERENCES grid(id), - FOREIGN KEY(zone_id) REFERENCES zone(id), - UNIQUE(tag) -); -COMMENT ON TABLE station IS '场站'; -COMMENT ON COLUMN station.id IS 'id'; -COMMENT ON COLUMN station.tag IS '标签'; -COMMENT ON COLUMN station.name IS '名称'; -COMMENT ON COLUMN station.discription IS '描述'; -COMMENT ON COLUMN station.grid_id IS '电网id'; -COMMENT ON COLUMN station.zone_id IS '区域id'; -COMMENT ON COLUMN station.op IS '操作人id'; -COMMENT ON COLUMN station.ts IS '操作时间'; - - --- 组态图(之前不会跨站,现在看会跨站) --- DROP TABLE IF EXISTS page; -CREATE TABLE page ( - id SERIAL PRIMARY KEY, - tag VARCHAR(32) NOT NULL DEFAULT '', - label JSONB NOT NULL DEFAULT '{}', -- 用作标识用的标签,可多组 - name VARCHAR(64) NOT NULL DEFAULT '', - discription VARCHAR(512) NOT NULL DEFAULT '', - - context JSONB NOT NULL DEFAULT '{}', -- 数据格式暂定jsonb,需要存放什么样的UI侧的数据 - status SMALLINT NOT NULL DEFAULT -1, - - --station_id INTEGER NOT NULL DEFAULT -1, -- 基于组态图属于某一站 - -- - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - - --FOREIGN KEY(station_id) REFERENCES station(id) - UNIQUE(tag) -); -COMMENT ON TABLE page IS '组态图'; -COMMENT ON COLUMN page.id IS 'id'; -COMMENT ON COLUMN page.name IS '组态名'; -COMMENT ON COLUMN page.discription IS '描述'; -COMMENT ON COLUMN page.station_id IS '站id'; -COMMENT ON COLUMN page.context IS '组态数据'; -COMMENT ON COLUMN page.status IS '组态状态'; -COMMENT ON COLUMN page.op IS '操作人id'; -COMMENT ON COLUMN page.ts IS '操作时间'; - - --- 组态元件 --- DROP TABLE IF EXISTS component; -CREATE TABLE component ( - id SERIAL PRIMARY KEY, - global_uuid UUID NOT NULL DEFAULT gen_random_uuid(), - tag VARCHAR(32) NOT NULL DEFAULT '', -- 站内唯一 - label JSONB NOT NULL DEFAULT '{}', -- 用作标识用的标签,可多组 - discription VARCHAR(512) NOT NULL DEFAULT '', - nspath VARCHAR(32) NOT NULL DEFAULT '', -- 回路(站内唯一) - name VARCHAR(64) NOT NULL DEFAULT '', -- 可见字符即可 - type VARCHAR(64) NOT NULL DEFAULT '', - in_service BOOLEAN NOT NULL DEFAULT FALSE, - state SMALLINT NOT NULL DEFAULT -1, -- 具体涉及哪些场景,数据类型是否用数值,用于拓扑分析 - connected_bus JSONB NOT NULL DEFAULT '{}', - - --position JSONB NOT NULL DEFAULT '{}', -- {"x":0,"y":0},是否放在数据中 - context JSONB NOT NULL DEFAULT '{}', -- 数据格式暂定jsonb,需要存放什么样的UI侧的数据 - - grid VARCHAR(64) NOT NULL DEFAULT '', -- 仅用于展示 - zone VARCHAR(64) NOT NULL DEFAULT '', -- 仅用于展示 - station VARCHAR(64) NOT NULL DEFAULT '', -- 仅用于展示 - page_id INTEGER NOT NULL DEFAULT -1, -- 组态图id - -- - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - - FOREIGN KEY(page_id) REFERENCES page(id) -); -COMMENT ON TABLE component IS '设备信息'; -COMMENT ON COLUMN component.id IS 'id'; -COMMENT ON COLUMN component.tag IS '标签'; -COMMENT ON COLUMN component.name IS '名字'; ---COMMENT ON COLUMN component.comment IS '注解'; -COMMENT ON COLUMN component.type IS '设备类型'; -COMMENT ON COLUMN component.in_service IS '服役状态'; -COMMENT ON COLUMN component.state IS '设备状态'; -COMMENT ON COLUMN component.connect_bus IS '连接母线'; ---COMMENT ON COLUMN component.position IS '组态图中位置'; -COMMENT ON COLUMN component.context IS '元件数据'; -COMMENT ON COLUMN component.station_id IS '站'; -COMMENT ON COLUMN component.page_id IS '归属组态图id'; -COMMENT ON COLUMN component.op IS '操作人id'; -COMMENT ON COLUMN component.ts IS '操作时间'; - - --- 组态拓扑关系 --- DROP TABLE IF EXISTS topologic; -CREATE TABLE topologic ( - id SERIAL PRIMARY KEY, - com_from INTEGER NOT NULL DEFAULT -1, -- 电路来向元件(默认方向) - com_to INTEGER NOT NULL DEFAULT -1, -- 电路去向元件(默认方向) - flag SMALLINT NOT NULL DEFAULT 1, -- 电路状态:正向 1;断路 0;逆向 -1; - - station_id INTEGER NOT NULL DEFAULT -1, -- 基于组态图属于某一站 - page_id INTEGER NOT NULL DEFAULT -1, - -- - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - - FOREIGN KEY(com_from) REFERENCES component(id), - FOREIGN KEY(com_to) REFERENCES component(id), - FOREIGN KEY(station_id) REFERENCES station(id), - FOREIGN KEY(page_id) REFERENCES page(id) -); -COMMENT ON TABLE topologic IS '拓扑关系'; -COMMENT ON COLUMN topologic.id IS 'id'; -COMMENT ON COLUMN topologic.com_from IS '电路来向元件'; -COMMENT ON COLUMN topologic.com_to IS '电路去向元件'; -COMMENT ON COLUMN topologic.flag IS '电路状态'; -COMMENT ON COLUMN topologic.station_id IS '归属站id'; -COMMENT ON COLUMN topologic.page_id IS '归属组态图id'; -COMMENT ON COLUMN topologic.op IS '操作人id'; -COMMENT ON COLUMN topologic.ts IS '操作时间'; - - --- 时序数据中field对应的terminal信息(映射的生成时机在什么时候:redis.hash) --- DROP TABLE IF EXISTS terminal_mapping; -CREATE TABLE terminal_mapping ( - id SERIAL PRIMARY KEY, - terminal_station VARCHAR(64) NOT NULL DEFAULT '', -- tag,是否考虑上面station与terminal_station不同 - component VARCHAR(64) NOT NULL DEFAULT '', -- tag,根据excel关联事件,是否关联component,考虑UI侧会对端子数据附加在component上 - tag VARCHAR(32) NOT NULL DEFAULT '', -- 至少保证站内唯一,是否必须,端子唯一标识的命名动作位于哪个流程 - --terminal_type VARCHAR(50) NOT NULL DEFAULT '', -- 根据excel关联事件(bus) - name VARCHAR(64) NOT NULL DEFAULT '', -- name和tag是否类同,必要性不强 - unit VARCHAR(16) NOT NULL DEFAULT '', -- type与unit是不是一致的 - - -- other fields? - -- terminal_value DECIMAL(10,2) NOT NULL DEFAULT 0, -- 隐性 - - measure VARCHAR(64) NOT NULL DEFAULT '', -- tag(来自报文) - station VARCHAR(64) NOT NULL DEFAULT '', -- tag(来自报文) - device VARCHAR(64) NOT NULL DEFAULT '', -- tag(来自报文,设备和数据共用) - field VARCHAR(64) NOT NULL DEFAULT '', -- tag(来自报文) - - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - - FOREIGN KEY(station) REFERENCES station(name), - --FOREIGN KEY(terminal_station) REFERENCES station(name), - FOREIGN KEY(terminal_com) REFERENCES component(name) -); -COMMENT ON TABLE terminal_mapping IS '端子映射表'; -COMMENT ON COLUMN terminal_mapping.component IS '端子元件'; -COMMENT ON COLUMN terminal_mapping.tag IS '端子标签'; -COMMENT ON COLUMN terminal_mapping.unit IS '端子单位'; -COMMENT ON COLUMN terminal_mapping.name IS '端子名称'; -COMMENT ON COLUMN terminal_mapping.station IS '站点'; -COMMENT ON COLUMN terminal_mapping.device IS '设备'; -COMMENT ON COLUMN terminal_mapping.field IS '字段'; -COMMENT ON COLUMN terminal_mapping.op IS '操作人id'; -COMMENT ON COLUMN terminal_mapping.ts IS '操作时间'; - - --- 二次设备库(从excel中看无个数限制) --- DROP TABLE IF EXISTS secondary; -CREATE TABLE secondary_lib ( - id SERIAL PRIMARY KEY, - type VARCHAR(64) NOT NULL DEFAULT '', -- 如果需要主次类型,可以下划线分割或者增加列 - manufacturer VARCHAR(64) NOT NULL DEFAULT '', - model VARCHAR(64) NOT NULL DEFAULT '', -- 型号 - args JSONB NOT NULL DEFAULT '{}', -- 二次设备的参数对应于端子测点,是否引出到另一张表 - -- - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); -COMMENT ON TABLE secondary_lib IS '二次设备库'; -COMMENT ON COLUMN secondary_lib.id IS 'id'; -COMMENT ON COLUMN secondary_lib.type IS '类型'; -COMMENT ON COLUMN secondary_lib.manufacturer IS '厂商'; -COMMENT ON COLUMN secondary_lib.model IS '型号'; -COMMENT ON COLUMN secondary_lib.args IS '二次设备端子测点'; -COMMENT ON COLUMN secondary_lib.op IS '操作人id'; -COMMENT ON COLUMN secondary_lib.ts IS '操作时间'; - - --- 一次设备与二次设备组态关系 --- DROP TABLE IF EXISTS primary_secondary; -CREATE TABLE primary_secondary ( - id SERIAL PRIMARY KEY, - primary_type VARCHAR(64) NOT NULL DEFAULT '', -- 比如bus/mtr - secondary_type VARCHAR(64) NOT NULL DEFAULT '', -- 用于寻找二次设备库中对应类型设备 - -- - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - - FOREIGN KEY(primary_type) REFERENCES component(type), - FOREIGN KEY(secondary_type) REFERENCES secondary(type) -); -COMMENT ON TABLE primary_secondary IS '一二次设备组态关系'; -COMMENT ON COLUMN primary_secondary.id IS 'id'; -COMMENT ON COLUMN primary_secondary.primary_type IS '一次设备类型'; -COMMENT ON COLUMN primary_secondary.secondary_type IS '二次设备类型'; -COMMENT ON COLUMN primary_secondary.op IS '操作人id'; -COMMENT ON COLUMN primary_secondary.ts IS '操作时间'; - - --- 基本参数(要转移到component表中) --- DROP TABLE IF EXISTS basic_info; -CREATE TABLE basic_info( - id SERIAL PRIMARY KEY, - component_id INTEGER NOT NULL DEFAULT -1, - name VARCHAR(50) NOT NULL DEFAULT '', -- Bus(X) len(20) - nominal_voltage DECIMAL(10,2) NOT NULL DEFAULT 35, -- 0.01~500 - discription VARCHAR(200) NOT NULL DEFAULT '', -- len(100) - service_state VARCHAR(50) NOT NULL DEFAULT '运行', -- 运行/退出 - detail_state VARCHAR(50) NOT NULL DEFAULT '现役', -- 现役/新建/计划/检修/库存可用/库存报废 - grid_name VARCHAR(50) NOT NULL DEFAULT '', - zone_name VARCHAR(50) NOT NULL DEFAULT '', - station_name VARCHAR(50) NOT NULL DEFAULT '', - bus_code INTEGER NOT NULL DEFAULT -1, -- VARCHAR(50) NOT NULL DEFAULT '', - - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - - FOREIGN KEY(component_id) REFERENCES component(id) -); - - --- 模型参数 --- DROP TABLE IF EXISTS model_info; -CREATE TABLE model_info( - id SERIAL PRIMARY KEY, - component_id INTEGER NOT NULL DEFAULT -1, - voltage_v_per DECIMAL(10,2) NOT NULL DEFAULT 100, -- 1~200 - voltage_v DECIMAL(10,2) NOT NULL DEFAULT 35, -- 0.01~1000 - voltage_phase DECIMAL(10,2) NOT NULL DEFAULT 0, -- -180~180 - rated_current DECIMAL(10,2) NOT NULL DEFAULT 1000, -- 0.01~65536 - dynamic_current DECIMAL(10,2) NOT NULL DEFAULT 40, -- 0.01~65536 - load_adjust_rate_min SMALLINT NOT NULL DEFAULT 100, -- 0~100 - load_adjust_rate_max SMALLINT NOT NULL DEFAULT 100, -- 0~100 - bus_type VARCHAR(50) NOT NULL DEFAULT 'PQ', -- 1 平衡母线/PV母线/PQ母线 - short_circuit_capacity_s3max DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 - short_circuit_capacity_s3min DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 - short_circuit_capacity_i3max DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 - short_circuit_capacity_i3min DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 - short_circuit_capacity_z3max DECIMAL(10,2) NOT NULL DEFAULT 0.05, -- 0~100 - short_circuit_capacity_z3min DECIMAL(10,2) NOT NULL DEFAULT 0.1, -- 0~100 - short_circuit_capacity_s1max DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 - short_circuit_capacity_s1min DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 - short_circuit_capacity_i1max DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 - short_circuit_capacity_i1min DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 - short_circuit_capacity_z1max DECIMAL(10,2) NOT NULL DEFAULT 0.05, -- 0~100 - short_circuit_capacity_z1min DECIMAL(10,2) NOT NULL DEFAULT 0.1, -- 0~100 - reference_voltage DECIMAL(10,2) NOT NULL DEFAULT 37, -- 0.01~500 - reference_capacity DECIMAL(10,2) NOT NULL DEFAULT 100, -- 0~65536 - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - - FOREIGN KEY(component_id) REFERENCES component(id) -); - - --- 稳定参数 --- DROP TABLE IF EXISTS stable_info; -CREATE TABLE stable_info( - id SERIAL PRIMARY KEY, - component_id INTEGER NOT NULL DEFAULT -1, - undervoltage_warning_threshold DECIMAL(10,2) NOT NULL DEFAULT 95, -- 0~100(%) - undervoltage_warning_time_unit VARCHAR(10) NOT NULL DEFAULT '秒', -- 周波/秒/分钟/小时 - undervoltage_warning_run_time DECIMAL(10,2) NOT NULL DEFAULT 10, -- 0~100 - undervoltage_alarm_threshold DECIMAL(10,2) NOT NULL DEFAULT 90, -- 0~100(%) - undervoltage_alarm_time_unit VARCHAR(10) NOT NULL DEFAULT '秒', -- 周波/秒/分钟/小时 - undervoltage_alarm_run_time DECIMAL(10,2) NOT NULL DEFAULT 10, -- 0~100 - overvoltage_warning_limit DECIMAL(10,2) NOT NULL DEFAULT 105, -- 100~500(%) - overvoltage_warning_time_unit VARCHAR(10) NOT NULL DEFAULT '秒', -- 周波/秒/分钟/小时 - overvoltage_warning_run_time DECIMAL(10,2) NOT NULL DEFAULT 10, -- 0~100 - overvoltage_alarm_limit DECIMAL(10,2) NOT NULL DEFAULT 110, -- 100~500(%) - overvoltage_alarm_time_unit VARCHAR(10) NOT NULL DEFAULT '秒', -- 周波/秒/分钟/小时 - overvoltage_alarm_run_time DECIMAL(10,2) NOT NULL DEFAULT 10, -- 0~100 - voltage_margin_pmax DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 - voltage_margin_qmax DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 - voltage_margin_ulim DECIMAL(10,2) NOT NULL DEFAULT 90, -- 0~1000 - active_power_margin_lim DECIMAL(10,2) NOT NULL DEFAULT 30, -- 0~100(%) - reactive_power_margin_lim DECIMAL(10,2) NOT NULL DEFAULT 30, -- 0~100(%) - op INTEGER NOT NULL DEFAULT -1, - ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - - FOREIGN KEY(component_id) REFERENCES component(id) -); - - --- 二次设备信息(是否必要) --- DROP TABLE IF EXISTS secondary_info; -CREATE TABLE secondary_info ( - id SERIAL PRIMARY KEY, - component_id INTEGER NOT NULL DEFAULT -1, - secondaries JSONB NOT NULL DEFAULT '{}', -- secondary.id,其实相当于关联二次设备型号各多少个 - terminals JSONB NOT NULL DEFAULT '{}', -- field_terminal.id还是tag/name,需要明确每一个端子测点 - - FOREIGN KEY(component_id) REFERENCES component(id) -); - - ----- 母线信息 ----- DROP TABLE IF EXISTS bus; ---CREATE TABLE bus ( --- id SERIAL PRIMARY KEY, --- bus_name VARCHAR(50) NOT NULL DEFAULT '', -- Bus(X) len(20) --- nominal_voltage DECIMAL(10,2) NOT NULL DEFAULT 35, -- 0.01~500 --- discription VARCHAR(200) NOT NULL DEFAULT '', -- len(100) --- service_state VARCHAR(50) NOT NULL DEFAULT '运行', -- 运行/退出 --- detail_state VARCHAR(50) NOT NULL DEFAULT '现役', -- 现役/新建/计划/检修/库存可用/库存报废 --- grid VARCHAR(50) NOT NULL DEFAULT '', --- zone VARCHAR(50) NOT NULL DEFAULT '', --- station VARCHAR(50) NOT NULL DEFAULT '', --- bus_code INTEGER NOT NULL DEFAULT -1, -- --- --- voltage_v_per DECIMAL(10,2) NOT NULL DEFAULT 100, -- 1~200 --- voltage_v DECIMAL(10,2) NOT NULL DEFAULT 35, -- 0.01~1000 --- voltage_phase DECIMAL(10,2) NOT NULL DEFAULT 0, -- -180~180 --- rated_current DECIMAL(10,2) NOT NULL DEFAULT 1000, -- 0.01~65536 --- dynamic_current DECIMAL(10,2) NOT NULL DEFAULT 40, -- 0.01~65536 --- load_adjust_rate_min SMALLINT NOT NULL DEFAULT 100, -- 0~100 --- load_adjust_rate_max SMALLINT NOT NULL DEFAULT 100, -- 0~100 --- bus_type VARCHAR(50) NOT NULL DEFAULT 'PQ', -- 1 平衡母线/PV母线/PQ母线 --- short_circuit_capacity_s3max DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 --- short_circuit_capacity_s3min DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 --- short_circuit_capacity_i3max DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 --- short_circuit_capacity_i3min DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 --- short_circuit_capacity_z3max DECIMAL(10,2) NOT NULL DEFAULT 0.05, -- 0~100 --- short_circuit_capacity_z3min DECIMAL(10,2) NOT NULL DEFAULT 0.1, -- 0~100 --- short_circuit_capacity_s1max DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 --- short_circuit_capacity_s1min DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 --- short_circuit_capacity_i1max DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 --- short_circuit_capacity_i1min DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 --- short_circuit_capacity_z1max DECIMAL(10,2) NOT NULL DEFAULT 0.05, -- 0~100 --- short_circuit_capacity_z1min DECIMAL(10,2) NOT NULL DEFAULT 0.1, -- 0~100 --- reference_voltage DECIMAL(10,2) NOT NULL DEFAULT 37, -- 0.01~500 --- reference_capacity DECIMAL(10,2) NOT NULL DEFAULT 100, -- 0~65536 --- --- undervoltage_warning_threshold DECIMAL(10,2) NOT NULL DEFAULT 95, -- 0~100(%) --- undervoltage_warning_time_unit VARCHAR(10) NOT NULL DEFAULT '秒', -- 周波/秒/分钟/小时 --- undervoltage_warning_run_time DECIMAL(10,2) NOT NULL DEFAULT 10, -- 0~100 --- undervoltage_alarm_threshold DECIMAL(10,2) NOT NULL DEFAULT 90, -- 0~100(%) --- undervoltage_alarm_time_unit VARCHAR(10) NOT NULL DEFAULT '秒', -- 周波/秒/分钟/小时 --- undervoltage_alarm_run_time DECIMAL(10,2) NOT NULL DEFAULT 10, -- 0~100 --- overvoltage_warning_limit DECIMAL(10,2) NOT NULL DEFAULT 105, -- 100~500(%) --- overvoltage_warning_time_unit VARCHAR(10) NOT NULL DEFAULT '秒', -- 周波/秒/分钟/小时 --- overvoltage_warning_run_time DECIMAL(10,2) NOT NULL DEFAULT 10, -- 0~100 --- overvoltage_alarm_limit DECIMAL(10,2) NOT NULL DEFAULT 110, -- 100~500(%) --- overvoltage_alarm_time_unit VARCHAR(10) NOT NULL DEFAULT '秒', -- 周波/秒/分钟/小时 --- overvoltage_alarm_run_time DECIMAL(10,2) NOT NULL DEFAULT 10, -- 0~100 --- --- voltage_margin_pmax DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 --- voltage_margin_qmax DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~65536 --- voltage_margin_ulim DECIMAL(10,2) NOT NULL DEFAULT 90, -- 0~1000 --- active_power_margin_lim DECIMAL(10,2) NOT NULL DEFAULT 30, -- 0~100(%) --- reactive_power_margin_lim DECIMAL(10,2) NOT NULL DEFAULT 30, -- 0~100(%) --- --- op INTEGER NOT NULL DEFAULT -1, --- create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, --- update_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, ---); --- --- ----- 异步电动机信息 ----- DROP TABLE IF EXISTS async_motor; ---CREATE TABLE async_motor ( --- id SERIAL PRIMARY KEY, --- motor_name VARCHAR(50) NOT NULL DEFAULT '', -- len(20) Mtr(X) --- discription VARCHAR(200) NOT NULL DEFAULT '', -- len(100) --- efficiency_level VARCHAR(10) NOT NULL DEFAULT 'IE3', -- IE1/IE2/IE3/IE4/IE5 --- stator_winding VARCHAR(50) NOT NULL DEFAULT 'Y', -- Y/△ --- rotor_winding VARCHAR(50) NOT NULL DEFAULT '鼠笼型', --鼠笼型/绕线型 --- service_state VARCHAR(50) NOT NULL DEFAULT '运行', -- 1 on_service; 2 out_service; --- detail_state VARCHAR(50) NOT NULL DEFAULT '现役', -- 现役/新建/计划/检修/库存可用/库存报废 --- grid VARCHAR(50) NOT NULL DEFAULT '', --- zone VARCHAR(50) NOT NULL DEFAULT '', --- station VARCHAR(50) NOT NULL DEFAULT '', --- bus_id INTEGER NOT NULL DEFAULT -1, --- bus_name VARCHAR(50) NOT NULL DEFAULT '', --- --- rated_voltage DECIMAL(10,2) NOT NULL DEFAULT 0.4, -- 0.4~35 --- rated_power DECIMAL(10,2) NOT NULL DEFAULT 75, -- 0.01~ --- rated_efficiency_100fl DECIMAL(10,2) NOT NULL DEFAULT 96.8, -- 0~100(%) --- rated_efficiency_75fl DECIMAL(10,2) NOT NULL DEFAULT 97.5, -- 0~100(%) --- rated_efficiency_50fl DECIMAL(10,2) NOT NULL DEFAULT 97.5, -- 0~100(%) --- rated_efficiency_0fl DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~100(%) --- rated_pf_100fl DECIMAL(10,2) NOT NULL DEFAULT 88, -- 0~100(%) --- rated_pf_75fl DECIMAL(10,2) NOT NULL DEFAULT 85, -- 0~100(%) --- rated_pf_50fl DECIMAL(10,2) NOT NULL DEFAULT 80, -- 0~100(%) --- rated_pf_0fl DECIMAL(10,2) NOT NULL DEFAULT 70, -- 0~100(%) --- full_load_current DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~100(%) --- sf DECIMAL(10,2) NOT NULL DEFAULT 1, -- 0~10 --- no_load_current DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~999 --- rated_rotor_current DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0.01~ --- rated_open_voltage DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0.4~35 --- --- startup_current_ratio_lst DECIMAL(10,2) NOT NULL DEFAULT 6.5, -- 1~20 --- startup_current_lst DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0.01~65536 --- startup_time_100un DECIMAL(10,2) NOT NULL DEFAULT 0, -- 1~999 --- startup_time_80un DECIMAL(10,2) NOT NULL DEFAULT 0, -- 1~999 --- pf DECIMAL(10,2) NOT NULL DEFAULT 0, -- 1~100(%) --- xr DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~100 --- poles SMALLINT NOT NULL DEFAULT 4, -- 1~200 --- synchronous_speed INTEGER NOT NULL DEFAULT 1500, -- 30~3000 --- rated_speed INTEGER NOT NULL DEFAULT 1498, -- 0~3000 --- rated_slip DECIMAL(10,2) NOT NULL DEFAULT 98.5, -- 1~100(%) --- rated_torque DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0.01~ --- max_torque_pct DECIMAL(10,2) NOT NULL DEFAULT 200, -- 100~500 --- stall_torque_pct DECIMAL(10,2) NOT NULL DEFAULT 60, -- 1~100 --- --- model_args JSONB NOT NULL DEFAULT '', -- --- no_load_u DECIMAL(10,2) NOT NULL DEFAULT 0, -- 1~35000 --- no_load_i DECIMAL(10,2) NOT NULL DEFAULT 0, -- 1~65536 --- no_load_p DECIMAL(10,2) NOT NULL DEFAULT 0, -- 1~65536 --- stall_f1 DECIMAL(10,2) NOT NULL DEFAULT 50, -- 0~100 --- stall_f2 DECIMAL(10,2) NOT NULL DEFAULT -1, -- 0~100 --- stall_u DECIMAL(10,2) NOT NULL DEFAULT -1, -- 1~35000 --- stall_i DECIMAL(10,2) NOT NULL DEFAULT -1, -- 1~ --- stall_p DECIMAL(10,2) NOT NULL DEFAULT -1, -- 1~ --- dc_resistance_a DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~ --- dc_resistance_b DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~ --- dc_resistance_c DECIMAL(10,2) NOT NULL DEFAULT 0, -- 0~ --- --- duty_type VARCHAR(10) NOT NULL DEFAULT 'S1', --- duty_detail JSONB NOT NULL DEFAULT '', --- thermal ---); --- --- ----- 子网(作为设备)信息 ----- DROP TABLE IF EXISTS grid; ---CREATE TABLE grid ( --- ---); \ No newline at end of file diff --git a/ddl_0_gzs.sql b/ddl_0_gzs.sql new file mode 100644 index 0000000..3294790 --- /dev/null +++ b/ddl_0_gzs.sql @@ -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; + diff --git a/ddl_1_page.sql b/ddl_1_page.sql new file mode 100644 index 0000000..25fcc19 --- /dev/null +++ b/ddl_1_page.sql @@ -0,0 +1,31 @@ + +-- 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, + status integer NOT NULL DEFAULT '-1'::integer, + 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; + diff --git a/ddl_2_component.sql b/ddl_2_component.sql new file mode 100644 index 0000000..b4c3b33 --- /dev/null +++ b/ddl_2_component.sql @@ -0,0 +1,46 @@ +-- 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, + 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, + connected_bus jsonb NOT NULL DEFAULT '{}'::jsonb, + label jsonb NOT NULL DEFAULT '{}'::jsonb, + context jsonb NOT NULL DEFAULT '{}'::jsonb, + page_id integer NOT NULL, + op integer NOT NULL DEFAULT '-1'::integer, + ts timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP, + CONSTRAINT component_id_PrimaryKey PRIMARY KEY (id), + CONSTRAINT component_ForeignKey_page_id FOREIGN KEY (page_id) + REFERENCES public.page (id) MATCH SIMPLE + ON UPDATE NO ACTION + ON DELETE NO ACTION +) + +TABLESPACE pg_default; + +ALTER TABLE IF EXISTS public.component + OWNER to postgres; + +COMMENT ON TABLE public.component + IS '存储电网元件的基本信息'; + + diff --git a/ddl_3_topologic.sql b/ddl_3_topologic.sql new file mode 100644 index 0000000..744d769 --- /dev/null +++ b/ddl_3_topologic.sql @@ -0,0 +1,27 @@ +-- Table: public.topologic + +DROP TABLE IF EXISTS public.topologic; + +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), + page_id integer NOT NULL, + uuid_from uuid, + uuid_to 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), + CONSTRAINT topologic_ForeignKey_page_id FOREIGN KEY (page_id) + REFERENCES public.page (id) MATCH SIMPLE + ON UPDATE NO ACTION + ON DELETE NO ACTION +) + +TABLESPACE pg_default; + +ALTER TABLE IF EXISTS public.topologic + OWNER to postgres; \ No newline at end of file diff --git a/ddl_4_dicts.sql b/ddl_4_dicts.sql new file mode 100644 index 0000000..e046210 --- /dev/null +++ b/ddl_4_dicts.sql @@ -0,0 +1,125 @@ + +-- drop public.terminal_dict + +DROP TABLE IF EXISTS public.terminal_dict; +DROP SEQUENCE IF EXISTS public.terminal_dict_id_seq; + +-- drop public.device_dict + +DROP TABLE IF EXISTS public.device_dict; +DROP SEQUENCE IF EXISTS public.device_dict_id_seq; + +-- drop public.terminal_type_dict + +DROP TABLE IF EXISTS public.terminal_type_dict; +DROP SEQUENCE IF EXISTS public.terminal_type_dict_id_seq; + +-- drop public.device_type_dict + +DROP TABLE IF EXISTS public.device_type_dict; +DROP SEQUENCE IF EXISTS public.device_type_dict_id_seq; + + +-- public.device_type_dict + +CREATE SEQUENCE IF NOT EXISTS public.device_type_dict_id_seq; + +ALTER SEQUENCE public.device_type_dict_id_seq + OWNER TO postgres; + +CREATE TABLE IF NOT EXISTS public.device_type_dict +( + id integer NOT NULL DEFAULT nextval('device_type_dict_id_seq'::regclass), + name character varying(64) COLLATE pg_catalog."default" NOT NULL, + description character varying(512) COLLATE pg_catalog."default", + ts timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP, + CONSTRAINT device_type_dict_id_PrimaryKey PRIMARY KEY (id) +) +TABLESPACE pg_default; + +ALTER TABLE IF EXISTS public.device_type_dict + OWNER to postgres; + + +-- public.terminal_type_dict + +CREATE SEQUENCE IF NOT EXISTS public.terminal_type_dict_id_seq; + +ALTER SEQUENCE public.terminal_type_dict_id_seq + OWNER TO postgres; + +CREATE TABLE IF NOT EXISTS public.terminal_type_dict +( + id integer NOT NULL DEFAULT nextval('terminal_type_dict_id_seq'::regclass), + name character varying(64) COLLATE pg_catalog."default" NOT NULL, + description character varying(512) COLLATE pg_catalog."default", + ts timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP, + CONSTRAINT terminal_type_dict_id_PrimaryKey PRIMARY KEY (id) +) +TABLESPACE pg_default; + +ALTER TABLE IF EXISTS public.terminal_type_dict + OWNER to postgres; + + + +-- public.device_dict + +CREATE SEQUENCE IF NOT EXISTS public.device_dict_id_seq; + +ALTER SEQUENCE public.device_dict_id_seq + OWNER TO postgres; + +CREATE TABLE IF NOT EXISTS public.device_dict +( + id integer NOT NULL DEFAULT nextval('device_dict_id_seq'::regclass), + model character varying(32) COLLATE pg_catalog."default" NOT NULL, + type_dict_id integer NOT NULL, + name character varying(64) COLLATE pg_catalog."default" NOT NULL, + description character varying(512) COLLATE pg_catalog."default", + ts timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP, + CONSTRAINT device_dict_id_PrimaryKey PRIMARY KEY (id), + CONSTRAINT device_dict_ForeignKey_device_type_dict_id FOREIGN KEY ("type_dict_id") + REFERENCES public.device_type_dict (id) MATCH SIMPLE + ON UPDATE NO ACTION + ON DELETE NO ACTION + NOT VALID +) +TABLESPACE pg_default; + +ALTER TABLE IF EXISTS public.device_dict + OWNER to postgres; + +-- public.terminal_dict + +CREATE SEQUENCE IF NOT EXISTS public.terminal_dict_id_seq; + +ALTER SEQUENCE public.terminal_dict_id_seq + OWNER TO postgres; + +CREATE TABLE IF NOT EXISTS public.terminal_dict +( + id integer NOT NULL DEFAULT nextval('terminal_dict_id_seq'::regclass), + device_dict_id integer NOT NULL, + idx integer NOT NULL, + terminal_type_dict_id integer NOT NULL, + name character varying(64) COLLATE pg_catalog."default" NOT NULL, + description character varying(512) COLLATE pg_catalog."default", + ts timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP, + CONSTRAINT terminal_dict_id_PrimaryKey PRIMARY KEY (id), + CONSTRAINT terminal_dict_ForeignKey_device_dict_id FOREIGN KEY ("device_dict_id") + REFERENCES public.device_dict (id) MATCH SIMPLE + ON UPDATE NO ACTION + ON DELETE NO ACTION + NOT VALID, + CONSTRAINT terminal_dict_ForeignKey_terminal_type_dict_id FOREIGN KEY ("terminal_type_dict_id") + REFERENCES public.terminal_type_dict (id) MATCH SIMPLE + ON UPDATE NO ACTION + ON DELETE NO ACTION + NOT VALID +) +TABLESPACE pg_default; + +ALTER TABLE IF EXISTS public.terminal_dict + OWNER to postgres; + diff --git a/ddl_5_bay.sql b/ddl_5_bay.sql new file mode 100644 index 0000000..66fbb83 --- /dev/null +++ b/ddl_5_bay.sql @@ -0,0 +1,157 @@ +-- Table: public.syncmotor_bay + +-- DROP +DROP TABLE IF EXISTS public.syncmotor_bay; +DROP SEQUENCE IF EXISTS public.syncmotor_bay_id_seq; + +-- CREATE +CREATE SEQUENCE IF NOT EXISTS public.syncmotor_bay_id_seq; + +CREATE TABLE IF NOT EXISTS public.syncmotor_bay +( + id integer NOT NULL DEFAULT nextval('syncmotor_bay_id_seq'::regclass), + component_id integer NOT NULL, + + dev_protect jsonb NOT NULL DEFAULT '{}'::jsonb, + dev_scada jsonb NOT NULL DEFAULT '{}'::jsonb, + dev_intelligent jsonb NOT NULL DEFAULT '{}'::jsonb, + dev_recording jsonb NOT NULL DEFAULT '{}'::jsonb, + dev_status jsonb NOT NULL DEFAULT '{}'::jsonb, + dev_etc jsonb NOT NULL DEFAULT '{}'::jsonb, + + "s_Ia" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_Ib" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_Ic" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_I0" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_I1" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_I2" jsonb NOT NULL DEFAULT '{}'::jsonb, + + "s_Ua" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_Ub" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_Uc" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_U0" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_U1" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_U2" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_Uab" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_Ubc" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_Uca" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_Uarrow" jsonb NOT NULL DEFAULT '{}'::jsonb, + + "s_IA" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_IB" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_IC" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_I0p" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_I1p" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_I2p" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_In" jsonb NOT NULL DEFAULT '{}'::jsonb, + + "s_IpA" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_IpB" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_IpC" jsonb NOT NULL DEFAULT '{}'::jsonb, + + "s_UA" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_UB" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_UC" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_U0p" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_U1p" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_U2p" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_UAB" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_UBC" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_UCA" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_Uarrowp" jsonb NOT NULL DEFAULT '{}'::jsonb, + + "s_P" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_Q" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_S" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_PF" jsonb NOT NULL DEFAULT '{}'::jsonb, + + "s_f" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_df_per_dt" jsonb NOT NULL DEFAULT '{}'::jsonb, + + "s_Temp" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_PD" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_Vsp" jsonb NOT NULL DEFAULT '{}'::jsonb, + + "s_TL" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_n" jsonb NOT NULL DEFAULT '{}'::jsonb, + "s_s" jsonb NOT NULL DEFAULT '{}'::jsonb, + + "t_Ia" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_Ib" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_Ic" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_I0" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_I1" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_I2" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + + "t_Ua" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_Ub" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_Uc" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_U0" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_U1" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_U2" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_Uab" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_Ubc" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_Uca" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_Uarrow" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + + "t_IA" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_IB" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_IC" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_I0p" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_I1p" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_I2p" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_In" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + + "t_IpA" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_IpB" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_IpC" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + + "t_UA" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_UB" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_UC" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_U0p" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_U1p" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_U2p" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_UAB" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_UBC" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_UCA" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_Uarrowp" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + + "t_P" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_Q" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_S" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_PF" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + + "t_f" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_df_per_dt" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + + "t_Temp" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_PD" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_Vsp" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + + "t_TL" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_n" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + "t_s" DOUBLE PRECISION NOT NULL DEFAULT 0.0, + + op integer NOT NULL DEFAULT '-1'::integer, + ts timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT syncmotor_bay_id_PrimaryKey PRIMARY KEY (id), + CONSTRAINT syncmotor_bay_ForeignKey_component_id FOREIGN KEY (component_id) + REFERENCES public.page (id) MATCH SIMPLE + ON UPDATE NO ACTION + ON DELETE NO ACTION +) + +TABLESPACE pg_default; + +ALTER TABLE IF EXISTS public.syncmotor_bay + OWNER to postgres; + +COMMENT ON TABLE public.syncmotor_bay + IS '存储异步电动机的间隔信息 + s下划线后面是符号,代表端子信息,包含二次设备信息 + t下划线后面符号,代表实测值 + 这两行是一一对应关系'; + +