55 lines
2.0 KiB
SQL
55 lines
2.0 KiB
SQL
-- 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
|
|
);
|