32 lines
1.5 KiB
SQL
32 lines
1.5 KiB
SQL
-- Author: fruit.com.cn
|
|
-- 运营分类(与「类型」drama_category 是两个概念):分类可自定义增删,并关联多部短剧
|
|
-- 幂等,仅提交文件,由发布流程执行
|
|
|
|
CREATE TABLE IF NOT EXISTS drama_classification (
|
|
id BIGINT PRIMARY KEY,
|
|
name VARCHAR(64) NOT NULL,
|
|
sort INTEGER NOT NULL DEFAULT 0,
|
|
status SMALLINT NOT NULL DEFAULT 1,
|
|
created_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
CREATE UNIQUE INDEX IF NOT EXISTS uk_drama_classification_name ON drama_classification (name);
|
|
COMMENT ON TABLE drama_classification IS '运营分类;与短剧类型(drama_category)相互独立';
|
|
|
|
CREATE TABLE IF NOT EXISTS drama_classification_drama (
|
|
id BIGINT PRIMARY KEY,
|
|
classification_id BIGINT NOT NULL,
|
|
drama_id BIGINT NOT NULL,
|
|
created_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
CREATE UNIQUE INDEX IF NOT EXISTS uk_classification_drama
|
|
ON drama_classification_drama (classification_id, drama_id);
|
|
CREATE INDEX IF NOT EXISTS idx_classification_drama_drama
|
|
ON drama_classification_drama (drama_id);
|
|
COMMENT ON TABLE drama_classification_drama IS '分类与短剧的关联关系';
|
|
|
|
DROP TRIGGER IF EXISTS trg_drama_classification_updated_at ON drama_classification;
|
|
CREATE TRIGGER trg_drama_classification_updated_at
|
|
BEFORE UPDATE ON drama_classification
|
|
FOR EACH ROW EXECUTE FUNCTION set_updated_at();
|