use uuid as primary key in component

This commit is contained in:
zhuxu 2025-07-03 21:06:32 +08:00
parent 3f765e32e0
commit de31efa9c1
3 changed files with 9 additions and 8 deletions

View File

@ -72,8 +72,7 @@ CREATE TABLE PUBLIC.PAGE (
);
CREATE TABLE PUBLIC.COMPONENT (
ID BIGSERIAL PRIMARY KEY,
GLOBAL_UUID UUID NOT NULL DEFAULT GEN_RANDOM_UUID(),
GLOBAL_UUID UUID PRIMARY KEY DEFAULT GEN_RANDOM_UUID(),
NSPATH VARCHAR(32) NOT NULL DEFAULT '',
TAG VARCHAR(32) NOT NULL DEFAULT '',
NAME VARCHAR(64) NOT NULL DEFAULT '',
@ -138,10 +137,10 @@ CREATE TABLE PUBLIC.MEASUREMENT (
DATA_SOURCE JSONB NOT NULL DEFAULT '{}', -- {"type":1,"main_pos":"","sub_pos":""}
SIZE INTEGER NOT NULL DEFAULT -1,
BAY_ID BIGINT NOT NULL,
COMPONENT_ID BIGINT NOT NULL,
COMPONENT_UUID UUID NOT NULL,
OP INTEGER NOT NULL DEFAULT -1,
TS TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (BAY_ID) REFERENCES PUBLIC.BAY (ID),
FOREIGN KEY (COMPONENT_ID) REFERENCES PUBLIC.COMPONENT (ID)
FOREIGN KEY (COMPONENT_UUID) REFERENCES PUBLIC.COMPONENT (GLOBAL_UUID)
);

View File

@ -10,7 +10,6 @@ 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,
@ -29,7 +28,7 @@ CREATE TABLE IF NOT EXISTS public.component
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)
CONSTRAINT component_pkey PRIMARY KEY (global_uuid)
)
TABLESPACE pg_default;

View File

@ -10,7 +10,10 @@ CREATE TABLE PUBLIC.MEASUREMENT (
DATA_SOURCE JSONB NOT NULL DEFAULT '{}', -- {"type":1,"main_pos":"","sub_pos":""}
SIZE INTEGER NOT NULL DEFAULT -1,
BAY_ID INTEGER NOT NULL DEFAULT -1,
COMPONENT_ID INTEGER NOT NULL DEFAULT -1,
COMPONENT_UUID UUID NOT NULL,
OP INTEGER NOT NULL DEFAULT -1,
TS TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
TS TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (BAY_ID) REFERENCES PUBLIC.BAY (ID),
FOREIGN KEY (COMPONENT_UUID) REFERENCES PUBLIC.COMPONENT (GLOBAL_UUID)
);