Files
yunzerwebsiteallinone/go/docs/sql/create_cms_solution.sql
T
2026-09-15 10:44:31 +08:00

47 lines
2.2 KiB
SQL

-- =============================================================
-- CMS 解决方案(特色服务)相关表:解决方案 / 解决方案分类
-- yz_cms_solution 解决方案
-- yz_cms_solution_category 解决方案分类
-- 说明:建表可重复执行;末尾的历史库补列重复执行报
-- "Duplicate column name" 属正常,跳过即可。
-- 运行:mysql -h<host> -P<port> -u<user> -p <db> < create_cms_solution.sql
-- =============================================================
CREATE TABLE IF NOT EXISTS `yz_cms_solution` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`tid` bigint unsigned NOT NULL DEFAULT 0,
`title` varchar(100) NOT NULL DEFAULT '',
`thumb` varchar(500) NOT NULL DEFAULT '',
`desc` varchar(500) NOT NULL DEFAULT '',
`content` mediumtext,
`url` varchar(500) NOT NULL DEFAULT '',
`sort` int NOT NULL DEFAULT 0,
`status` tinyint NOT NULL DEFAULT 1,
`create_time` datetime NOT NULL,
`update_time` datetime DEFAULT NULL,
`delete_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_tid_status` (`tid`,`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `yz_cms_solution_category` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`tid` bigint unsigned NOT NULL DEFAULT 0,
`title` varchar(100) NOT NULL DEFAULT '',
`pid` bigint unsigned NOT NULL DEFAULT 0,
`desc` varchar(500) NOT NULL DEFAULT '',
`sort` int NOT NULL DEFAULT 0,
`status` tinyint NOT NULL DEFAULT 1,
`create_time` datetime NOT NULL,
`update_time` datetime DEFAULT NULL,
`delete_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_tid_pid` (`tid`,`pid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 历史库补齐在线内容字段(表已存在且缺列时才执行 ALTER,可重复执行不报错)
SET @tbl := (SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'yz_cms_solution');
SET @col := (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'yz_cms_solution' AND COLUMN_NAME = 'content');
SET @ddl := IF(@tbl > 0 AND @col = 0, 'ALTER TABLE `yz_cms_solution` ADD COLUMN `content` mediumtext', 'DO 0');
PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt;