52 lines
2.3 KiB
SQL
52 lines
2.3 KiB
SQL
-- 腾讯广告音乐素材表
|
||
CREATE SEQUENCE IF NOT EXISTS tencent_audio_id_seq START WITH 1 INCREMENT BY 1;
|
||
|
||
CREATE TABLE IF NOT EXISTS tencent_audio (
|
||
id BIGINT NOT NULL DEFAULT nextval('tencent_audio_id_seq'::regclass),
|
||
tenant_id BIGINT NOT NULL DEFAULT 0,
|
||
creator VARCHAR(100) DEFAULT '',
|
||
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
||
updater VARCHAR(100) DEFAULT '',
|
||
updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
||
deleted_at TIMESTAMP WITH TIME ZONE,
|
||
|
||
-- 业务字段
|
||
audio_id VARCHAR(100) NOT NULL,
|
||
cover_image_url TEXT,
|
||
audio_name VARCHAR(500),
|
||
author VARCHAR(200),
|
||
duration NUMERIC(10, 2),
|
||
expire_time BIGINT,
|
||
feel_tags JSONB,
|
||
genre_tags JSONB,
|
||
|
||
-- 本地校验状态
|
||
verify_status VARCHAR(20) DEFAULT 'PENDING' NOT NULL, -- PENDING:待校验, VERIFIED:已校验, REJECTED:已拒绝
|
||
verified_at TIMESTAMP WITH TIME ZONE, -- 校验时间
|
||
verified_by VARCHAR(100), -- 校验人
|
||
|
||
PRIMARY KEY (id)
|
||
);
|
||
|
||
COMMENT ON TABLE tencent_audio IS '腾讯广告音乐素材表';
|
||
COMMENT ON COLUMN tencent_audio.id IS '主键ID';
|
||
COMMENT ON COLUMN tencent_audio.tenant_id IS '租户ID';
|
||
COMMENT ON COLUMN tencent_audio.creator IS '创建人';
|
||
COMMENT ON COLUMN tencent_audio.created_at IS '创建时间';
|
||
COMMENT ON COLUMN tencent_audio.updater IS '更新人';
|
||
COMMENT ON COLUMN tencent_audio.updated_at IS '更新时间';
|
||
COMMENT ON COLUMN tencent_audio.deleted_at IS '软删除时间';
|
||
COMMENT ON COLUMN tencent_audio.audio_id IS '音乐ID';
|
||
COMMENT ON COLUMN tencent_audio.cover_image_url IS '封面图片URL';
|
||
COMMENT ON COLUMN tencent_audio.audio_name IS '音乐名称';
|
||
COMMENT ON COLUMN tencent_audio.author IS '作者';
|
||
COMMENT ON COLUMN tencent_audio.duration IS '时长(秒)';
|
||
COMMENT ON COLUMN tencent_audio.expire_time IS '过期时间戳';
|
||
COMMENT ON COLUMN tencent_audio.feel_tags IS '情感标签数组';
|
||
COMMENT ON COLUMN tencent_audio.genre_tags IS '风格标签数组';
|
||
|
||
-- 唯一索引:根据audio_id判断是否存在
|
||
CREATE UNIQUE INDEX idx_tencent_audio_audio_id ON tencent_audio(tenant_id, audio_id);
|
||
CREATE INDEX idx_tencent_audio_author ON tencent_audio(tenant_id, author);
|
||
CREATE INDEX idx_tencent_audio_expire_time ON tencent_audio(expire_time);
|