This commit is contained in:
2026-08-08 17:19:44 +08:00
parent 9276ed7358
commit dc0d2622f3
76 changed files with 1384 additions and 376 deletions
+9
View File
@@ -0,0 +1,9 @@
-- 存量站点迁移:为 pages 表增加 mode 字段(固定版面 fixed / 可视化编辑 builder
-- 执行方式(二选一):
-- A. 宝塔 / phpMyAdmin:直接运行本文件 SQL
-- B. 命令行:mysql -u<用户> -p<库名> < install/pages-add-mode.sql
-- 说明:默认 'fixed',旧数据(用 content 正文渲染)行为不变;
-- 仅当页面用可视化编辑器存过 layout 时,建议手动将该页 mode 置为 'builder'。
ALTER TABLE `pages`
ADD COLUMN `mode` VARCHAR(16) NOT NULL DEFAULT 'fixed' AFTER `layout`;
+5
View File
@@ -0,0 +1,5 @@
-- 产品表增加编辑模式字段(固定版面 / 可视化编辑)
-- 执行方式:在服务器 MySQL 中运行(已存在则忽略)
ALTER TABLE `products`
ADD COLUMN `mode` VARCHAR(16) NOT NULL DEFAULT 'fixed'
AFTER `layout`;
+9 -4
View File
@@ -9,7 +9,8 @@ CREATE TABLE IF NOT EXISTS `categories` (
`description` TEXT,
`sort_order` INT DEFAULT 0,
`status` TINYINT DEFAULT 1,
`layout` TEXT
`layout` TEXT,
`mode` VARCHAR(16) NOT NULL DEFAULT 'fixed'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `products` (
@@ -27,7 +28,8 @@ CREATE TABLE IF NOT EXISTS `products` (
`sort_order` INT DEFAULT 0,
`status` TINYINT DEFAULT 1,
`created_at` VARCHAR(20) DEFAULT '',
`layout` TEXT
`layout` TEXT,
`mode` VARCHAR(16) NOT NULL DEFAULT 'fixed'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `news` (
@@ -41,7 +43,8 @@ CREATE TABLE IF NOT EXISTS `news` (
`published_at` VARCHAR(20) DEFAULT '',
`status` TINYINT DEFAULT 1,
`views` INT DEFAULT 0,
`layout` TEXT
`layout` TEXT,
`mode` VARCHAR(16) NOT NULL DEFAULT 'fixed'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `cases` (
@@ -57,7 +60,8 @@ CREATE TABLE IF NOT EXISTS `cases` (
`sort_order` INT DEFAULT 0,
`status` TINYINT DEFAULT 1,
`views` INT DEFAULT 0,
`layout` TEXT
`layout` TEXT,
`mode` VARCHAR(16) NOT NULL DEFAULT 'fixed'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `pages` (
@@ -66,6 +70,7 @@ CREATE TABLE IF NOT EXISTS `pages` (
`title` VARCHAR(200) DEFAULT '',
`content` TEXT,
`layout` TEXT,
`mode` VARCHAR(16) NOT NULL DEFAULT 'fixed',
`updated_at` VARCHAR(20) DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+1 -1
View File
@@ -54,7 +54,7 @@ return [
['skey'=>'site_name','sval'=>'酷冰甲 · 降温服','sgroup'=>'site'],
['skey'=>'site_slogan','sval'=>'科技降温 · 清凉一夏','sgroup'=>'site'],
['skey'=>'contact_phone','sval'=>'400-1783-998','sgroup'=>'site'],
['skey'=>'contact_email','sval'=>'service@coolcoth.com','sgroup'=>'site'],
['skey'=>'contact_email','sval'=>'service@st-joyapparel.com','sgroup'=>'site'],
['skey'=>'contact_address','sval'=>'江苏省苏州市工业园区','sgroup'=>'site'],
['skey'=>'icp','sval'=>'苏ICP备10206899号','sgroup'=>'site'],
['skey'=>'seo_title','sval'=>'酷冰甲降温服 - 科技降温服装定制','sgroup'=>'site'],
+10 -3
View File
@@ -18,9 +18,16 @@
--------
1. 仅放 DDL / DML 的标准 MySQL 脚本;多条语句以分号(;)分隔,自动拆分执行。
2. 优先使用「幂等写法」,避免重复执行报错,例如:
CREATE TABLE IF NOT EXISTS xxx (...);
ALTER TABLE yyy ADD COLUMN IF NOT EXISTS zzz ...; -- MySQL 8.0.28+
INSERT INTO ... ON DUPLICATE KEY UPDATE ...;
CREATE TABLE IF NOT EXISTS xxx (...); -- 全版本支持
INSERT INTO ... ON DUPLICATE KEY UPDATE ...; -- 全版本支持
注意:ALTER TABLE ... ADD COLUMN IF NOT EXISTS 仅 MySQL 8.0.28+ / MariaDB 10.8+ 支持,
旧版本(含多数宝塔默认的 MySQL 5.7 与 MariaDB 10.4/10.6)会直接报 1064 语法错误。
跨版本安全的「加列」幂等方式(强烈推荐):
SET @db = DATABASE();
SET @has = (SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA=@db AND TABLE_NAME='yyy' AND COLUMN_NAME='zzz');
SET @sql = IF(@has=0, 'ALTER TABLE `yyy` ADD COLUMN `zzz` VARCHAR(16) NOT NULL DEFAULT \'x\'', 'SELECT 1');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
3. 不建议在升级包中执行 DROP TABLE / TRUNCATE 等破坏性语句,除非确有必要。
4. 升级前请务必备份数据库。