47 lines
1.8 KiB
SQL
47 lines
1.8 KiB
SQL
-- Skill 定义与版本表。
|
|
|
|
CREATE TABLE IF NOT EXISTS skill_definition (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
skill_code VARCHAR(100) NOT NULL,
|
|
skill_name VARCHAR(200) NOT NULL,
|
|
skill_type VARCHAR(50) NOT NULL,
|
|
description VARCHAR(1000),
|
|
status VARCHAR(50) NOT NULL DEFAULT 'DRAFT',
|
|
version INTEGER NOT NULL DEFAULT 1,
|
|
create_time TIMESTAMP,
|
|
update_time TIMESTAMP,
|
|
remark VARCHAR(500) DEFAULT '',
|
|
create_by VARCHAR(64),
|
|
update_by VARCHAR(64),
|
|
CONSTRAINT uk_skill_definition_code UNIQUE (skill_code)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS skill_version (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
skill_id BIGINT NOT NULL,
|
|
version_no INTEGER NOT NULL,
|
|
prompt_text TEXT,
|
|
code_text TEXT,
|
|
config_json JSONB NOT NULL DEFAULT '{}'::jsonb,
|
|
variable_schema_json JSONB NOT NULL DEFAULT '{}'::jsonb,
|
|
test_result_json JSONB NOT NULL DEFAULT '{}'::jsonb,
|
|
publish_status VARCHAR(50) NOT NULL DEFAULT 'DRAFT',
|
|
published_time TIMESTAMP,
|
|
version INTEGER NOT NULL DEFAULT 1,
|
|
create_time TIMESTAMP,
|
|
update_time TIMESTAMP,
|
|
remark VARCHAR(500) DEFAULT '',
|
|
create_by VARCHAR(64),
|
|
update_by VARCHAR(64),
|
|
CONSTRAINT uk_skill_version_no UNIQUE (skill_id, version_no),
|
|
CONSTRAINT fk_skill_version_skill_id FOREIGN KEY (skill_id) REFERENCES skill_definition (id)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_skill_definition_status ON skill_definition (status);
|
|
CREATE INDEX IF NOT EXISTS idx_skill_definition_type ON skill_definition (skill_type);
|
|
CREATE INDEX IF NOT EXISTS idx_skill_version_skill_id ON skill_version (skill_id);
|
|
CREATE INDEX IF NOT EXISTS idx_skill_version_publish_status ON skill_version (publish_status);
|
|
|
|
COMMENT ON TABLE skill_definition IS 'Skill定义表';
|
|
COMMENT ON TABLE skill_version IS 'Skill版本表';
|