-- Author: fruit.com.cn -- 标签管理:三种语言名称。短剧单选一个标签。 CREATE TABLE IF NOT EXISTS content_tag ( id BIGINT PRIMARY KEY, name VARCHAR(64) NOT NULL, name_en VARCHAR(64) NOT NULL DEFAULT '', name_id VARCHAR(64) NOT NULL DEFAULT '', 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_content_tag_name ON content_tag (name); DROP TRIGGER IF EXISTS trg_content_tag_updated_at ON content_tag; CREATE TRIGGER trg_content_tag_updated_at BEFORE UPDATE ON content_tag FOR EACH ROW EXECUTE FUNCTION set_updated_at(); ALTER TABLE drama ADD COLUMN IF NOT EXISTS tag_id BIGINT; CREATE INDEX IF NOT EXISTS idx_drama_tag ON drama (tag_id); INSERT INTO content_tag (id, name, name_en, name_id, sort, status) VALUES (2113500000000000001, '漫剧', 'Anime', 'Anime', 1, 1), (2113500000000000002, '真人剧', 'Live Action', 'Live Action', 2, 1) ON CONFLICT (id) DO NOTHING; UPDATE drama SET tag_id = 2113500000000000001 WHERE drama_type = 'ANIME' AND tag_id IS NULL; UPDATE drama SET tag_id = 2113500000000000002 WHERE (drama_type IS NULL OR drama_type = 'LIVE') AND tag_id IS NULL; INSERT INTO sys_menu ( id, parent_id, title, route_path, route_name, component, icon, permission_code, type, sort, visible, status, super_admin_visible ) VALUES ( 45, 3, '标签管理', 'content-tags', 'content-tags', 'views/contentManagement/TagManagementView', 'ep:price-tag', 'drama:list', 'MENU', 7, 1, 1, 1 ) ON CONFLICT (id) DO NOTHING; INSERT INTO sys_role_menu (id, role_id, menu_id) SELECT v.id, v.role_id, 45 FROM (VALUES (2113600000000000001, 1), (2113600000000000002, 2), (2113600000000000003, 3), (2113600000000000004, 4) ) AS v(id, role_id) WHERE NOT EXISTS ( SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = v.role_id AND rm.menu_id = 45 );