-- Author: fruit.com.cn -- 剧单:运营编排的短剧集合,归属某个分类,并可关联多部短剧 -- 幂等,仅提交文件,由发布流程执行 CREATE TABLE IF NOT EXISTS drama_playlist ( id BIGINT PRIMARY KEY, classification_id BIGINT NOT NULL DEFAULT 0, 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_playlist_name ON drama_playlist (name); CREATE INDEX IF NOT EXISTS idx_drama_playlist_classification ON drama_playlist (classification_id); COMMENT ON TABLE drama_playlist IS '剧单;归属分类,可关联多部短剧'; CREATE TABLE IF NOT EXISTS drama_playlist_drama ( id BIGINT PRIMARY KEY, playlist_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_playlist_drama ON drama_playlist_drama (playlist_id, drama_id); CREATE INDEX IF NOT EXISTS idx_playlist_drama_drama ON drama_playlist_drama (drama_id); COMMENT ON TABLE drama_playlist_drama IS '剧单与短剧的关联关系'; DROP TRIGGER IF EXISTS trg_drama_playlist_updated_at ON drama_playlist; CREATE TRIGGER trg_drama_playlist_updated_at BEFORE UPDATE ON drama_playlist FOR EACH ROW EXECUTE FUNCTION set_updated_at();