chore: 重写初始提交(清空历史,整理后全量提交)
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
-- 友情链接管理完善:软删除字段 + 后台权限种子
|
||||
-- 适用:已安装(数据来自 abc.sql / 线上库)需要手动执行以下语句
|
||||
|
||||
-- 1) 给 wxapp_links 增加软删除时间字段(启用回收站功能)
|
||||
ALTER TABLE `wxapp_links`
|
||||
ADD COLUMN `delete_at` int DEFAULT NULL COMMENT '软删除时间' AFTER `update_at`;
|
||||
|
||||
-- 2) 补充 links 子权限(父级为 links:index,id=61)
|
||||
-- 注意:若你们的 user_rule 已存在同名 name,请先确认 id 不冲突再执行
|
||||
INSERT INTO `wxapp_user_rule`
|
||||
(`id`, `pid`, `title`, `name`, `type`, `module`, `route`, `icon`, `sort`, `status`, `create_at`, `update_at`, `delete_at`)
|
||||
VALUES
|
||||
(621, 61, '添加友链', 'links:add', 3, 'links/save', 'layui-icon ', 0, NULL, 1, 0, 0, 0),
|
||||
(622, 61, '编辑友链', 'links:edit', 3, 'links/edit', 'layui-icon ', 0, NULL, 1, 0, 0, 0),
|
||||
(623, 61, '删除友链', 'links:delete', 3, 'links/delete', 'layui-icon ', 0, NULL, 1, 0, 0, 0),
|
||||
(624, 61, '友链回收站', 'links:recyclebin', 3, 'links/recyclebin', 'layui-icon ', 0, NULL, 1, 0, 0, 0),
|
||||
(625, 61, '恢复友链', 'links:restore', 3, 'links/restore', 'layui-icon ', 0, NULL, 1, 0, 0, 0);
|
||||
@@ -0,0 +1,75 @@
|
||||
-- ============================================================
|
||||
-- 远程库时间字段规范化迁移 SQL
|
||||
-- 作用:把曾由错误代码(createTime='create_time')写入的
|
||||
-- 旧列 create_time / update_time / delete_time
|
||||
-- 重命名为规范列 create_at / update_at / delete_at,
|
||||
-- 并修正列类型/默认值/注释,与 install.sql 保持一致。
|
||||
-- 覆盖表(前缀示例 wxapp_,执行前全部替换为线上真实前缀):
|
||||
-- card, help, medal, member_medal, prop, score_log,
|
||||
-- shop, sms, task, member_prop, member_task, notice
|
||||
-- 说明:
|
||||
-- 1) 旧列若不存在(线上已是新列名),自动跳过,不报错。
|
||||
-- 2) 新列若已存在(说明之前已改过),CHANGE 会失败——故先 DROP 旧列再 ADD 新列,
|
||||
-- 但为安全采用「先探测旧列是否存在」的方式。
|
||||
-- 3) 本脚本幂等:重复执行安全(旧列不存在时整段跳过)。
|
||||
-- ============================================================
|
||||
|
||||
DELIMITER //
|
||||
|
||||
-- 通用迁移存储过程:仅当旧列存在且新列不存在时才改
|
||||
DROP PROCEDURE IF EXISTS `__migrate_time_col`//
|
||||
CREATE PROCEDURE `__migrate_time_col`(
|
||||
IN p_table VARCHAR(64),
|
||||
IN p_old VARCHAR(64),
|
||||
IN p_new VARCHAR(64),
|
||||
IN p_def VARCHAR(255)
|
||||
)
|
||||
BEGIN
|
||||
IF EXISTS (
|
||||
SELECT 1 FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = p_table
|
||||
AND COLUMN_NAME = p_old
|
||||
) AND NOT EXISTS (
|
||||
SELECT 1 FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = p_table
|
||||
AND COLUMN_NAME = p_new
|
||||
) THEN
|
||||
SET @sql = CONCAT('ALTER TABLE `', p_table, '` CHANGE `', p_old, '` `', p_new, '` ', p_def);
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
END IF;
|
||||
END//
|
||||
|
||||
DROP PROCEDURE IF EXISTS `__migrate_table`//
|
||||
CREATE PROCEDURE `__migrate_table`(IN p_table VARCHAR(64))
|
||||
BEGIN
|
||||
-- 三列全改(按各自 install.sql 定义)
|
||||
CALL __migrate_time_col(p_table, 'create_time', 'create_at', "int(11) NOT NULL DEFAULT 0 COMMENT '创建时间'");
|
||||
CALL __migrate_time_col(p_table, 'update_time', 'update_at', "int(11) NOT NULL DEFAULT 0 COMMENT '更新时间'");
|
||||
CALL __migrate_time_col(p_table, 'delete_time', 'delete_at', "int(11) NOT NULL DEFAULT 0 COMMENT '删除时间'");
|
||||
END//
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
-- 逐表迁移(member_medal / member_prop / member_task 只有 create_at,无 update/delete)
|
||||
CALL __migrate_table('wxapp_card');
|
||||
CALL __migrate_table('wxapp_help');
|
||||
CALL __migrate_table('wxapp_medal');
|
||||
CALL __migrate_table('wxapp_prop');
|
||||
CALL __migrate_table('wxapp_shop');
|
||||
CALL __migrate_table('wxapp_sms');
|
||||
CALL __migrate_table('wxapp_task');
|
||||
CALL __migrate_table('wxapp_notice');
|
||||
CALL __migrate_table('wxapp_score_log');
|
||||
|
||||
-- 仅含 create_at 的表
|
||||
CALL __migrate_time_col('wxapp_member_medal', 'create_time', 'create_at', "int(11) NOT NULL DEFAULT 0 COMMENT '获得时间'");
|
||||
CALL __migrate_time_col('wxapp_member_prop', 'create_time', 'create_at', "int(11) NOT NULL DEFAULT '0' COMMENT '获得时间'");
|
||||
CALL __migrate_time_col('wxapp_member_task', 'create_time', 'create_at', "int(11) NOT NULL DEFAULT '0' COMMENT '领取时间'");
|
||||
|
||||
-- 清理临时存储过程
|
||||
DROP PROCEDURE IF EXISTS `__migrate_time_col`;
|
||||
DROP PROCEDURE IF EXISTS `__migrate_table`;
|
||||
@@ -0,0 +1,161 @@
|
||||
-- ============================================================
|
||||
-- 营运模块缺失表建表 SQL(远程库手动执行)
|
||||
-- 前缀示例 wxapp_,执行前全部替换为线上真实前缀。
|
||||
-- 安全:使用 CREATE TABLE IF NOT EXISTS,重复执行不报错。
|
||||
-- 来源:public/install/install.sql 的规范定义。
|
||||
-- 说明:sms 表 COLLATE 已统一为 utf8mb4 以兼容 MySQL 5.7+。
|
||||
-- ============================================================
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `wxapp_card` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`uid` int(11) NOT NULL DEFAULT 0 COMMENT '兑换会员ID(0未兑换)',
|
||||
`batch_no` varchar(30) NOT NULL DEFAULT '' COMMENT '批量生成批次号',
|
||||
`cardno` varchar(100) NOT NULL DEFAULT '' COMMENT '卡号',
|
||||
`password` varchar(100) NOT NULL DEFAULT '' COMMENT '密码',
|
||||
`amount` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '面值',
|
||||
`status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态 0未售1已售2已用',
|
||||
`use_time` int(11) NOT NULL DEFAULT 0 COMMENT '使用时间',
|
||||
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
|
||||
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
|
||||
`update_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||||
`delete_at` int(11) NOT NULL DEFAULT 0 COMMENT '删除时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_cardno` (`cardno`),
|
||||
KEY `idx_batch_no` (`batch_no`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='充值卡密';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `wxapp_prop` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '道具名称',
|
||||
`icon` varchar(255) NOT NULL DEFAULT '' COMMENT '图标',
|
||||
`price` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '价格',
|
||||
`description` text COMMENT '描述',
|
||||
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
|
||||
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态',
|
||||
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
|
||||
`update_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||||
`delete_at` int(11) NOT NULL DEFAULT 0 COMMENT '删除时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='道具中心';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `wxapp_shop` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '商品名称',
|
||||
`price` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '价格',
|
||||
`stock` int(11) NOT NULL DEFAULT 0 COMMENT '库存',
|
||||
`description` text COMMENT '描述',
|
||||
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
|
||||
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态',
|
||||
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
|
||||
`update_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||||
`delete_at` int(11) NOT NULL DEFAULT 0 COMMENT '删除时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='电子商务';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `wxapp_sms` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`mobile` varchar(20) NOT NULL COMMENT '手机号',
|
||||
`code` varchar(10) NOT NULL COMMENT '验证码',
|
||||
`event` varchar(20) DEFAULT 'login' COMMENT '类型 login:登录 register:注册',
|
||||
`times` int DEFAULT '0' COMMENT '验证次数',
|
||||
`ip` varchar(50) DEFAULT NULL COMMENT '发送IP',
|
||||
`create_at` int DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_mobile` (`mobile`),
|
||||
KEY `idx_times` (`times`),
|
||||
KEY `idx_create_at` (`create_at`) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='短信日志表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `wxapp_task` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '任务标题',
|
||||
`description` text COMMENT '任务描述',
|
||||
`reward_type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '奖励类型',
|
||||
`reward_num` int(11) NOT NULL DEFAULT 0 COMMENT '奖励数量/道具ID',
|
||||
`prop_num` int(11) NOT NULL DEFAULT 1 COMMENT '道具数量(奖励类型为道具时生效)',
|
||||
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
|
||||
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态',
|
||||
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
|
||||
`update_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||||
`delete_at` int(11) NOT NULL DEFAULT 0 COMMENT '删除时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='站点任务';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `wxapp_member_prop` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`uid` int unsigned NOT NULL DEFAULT '0' COMMENT '用户ID',
|
||||
`prop_id` int unsigned NOT NULL DEFAULT '0' COMMENT '道具ID',
|
||||
`num` int unsigned NOT NULL DEFAULT '1' COMMENT '数量',
|
||||
`create_at` int(11) NOT NULL DEFAULT '0' COMMENT '获得时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_uid` (`uid`),
|
||||
KEY `idx_uid_prop` (`uid`,`prop_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户拥有道具';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `wxapp_member_task` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`uid` int unsigned NOT NULL DEFAULT '0' COMMENT '用户ID',
|
||||
`task_id` int unsigned NOT NULL DEFAULT '0' COMMENT '任务ID',
|
||||
`reward_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '实际发放奖励类型',
|
||||
`reward_num` int(11) NOT NULL DEFAULT '0' COMMENT '实际发放数量',
|
||||
`create_at` int(11) NOT NULL DEFAULT '0' COMMENT '领取时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_uid_task` (`uid`,`task_id`),
|
||||
KEY `idx_uid` (`uid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户任务领取记录';
|
||||
|
||||
-- 以下两张已在原自愈覆盖(medal / score_log / score_rule),
|
||||
-- 一并补上保证完整,IF NOT EXISTS 不会冲突。
|
||||
CREATE TABLE IF NOT EXISTS `wxapp_medal` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '勋章名称',
|
||||
`image` varchar(255) NOT NULL DEFAULT '' COMMENT '图片',
|
||||
`description` text COMMENT '描述',
|
||||
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
|
||||
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态',
|
||||
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
|
||||
`update_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||||
`delete_at` int(11) NOT NULL DEFAULT 0 COMMENT '删除时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='勋章中心';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `wxapp_member_medal` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`uid` int unsigned NOT NULL DEFAULT '0' COMMENT '用户ID',
|
||||
`medal_id` int unsigned NOT NULL DEFAULT '0' COMMENT '勋章ID',
|
||||
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '获得时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_uid_medal` (`uid`,`medal_id`),
|
||||
KEY `idx_uid` (`uid`),
|
||||
KEY `idx_medal` (`medal_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户拥有勋章';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `wxapp_score_log` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`uid` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '用户ID',
|
||||
`rule_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '关联规则ID',
|
||||
`type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1收入2支出',
|
||||
`value` int(11) NOT NULL DEFAULT 0 COMMENT '变动值',
|
||||
`balance` int(11) NOT NULL DEFAULT 0 COMMENT '变动后余额',
|
||||
`remark` varchar(255) NOT NULL DEFAULT '' COMMENT '备注',
|
||||
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_uid` (`uid`),
|
||||
KEY `idx_uid_create` (`uid`,`create_at`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='积分流水';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `wxapp_score_rule` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL DEFAULT '' COMMENT '规则名称',
|
||||
`action` varchar(50) NOT NULL DEFAULT '' COMMENT '触发动作标识(task_complete/signin/register等)',
|
||||
`type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1获取2消费',
|
||||
`value` int(11) NOT NULL DEFAULT 0 COMMENT '变动值',
|
||||
`status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '状态 0禁用1启用',
|
||||
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
|
||||
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
|
||||
`update_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||||
`delete_at` int(11) NOT NULL DEFAULT 0 COMMENT '删除时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_action` (`action`),
|
||||
KEY `idx_status_sort` (`status`,`sort`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='积分规则';
|
||||
@@ -0,0 +1,32 @@
|
||||
-- ============================================================
|
||||
-- 修复:wxapp_notice 表缺失(线上报 1146)
|
||||
-- ============================================================
|
||||
-- 背景:
|
||||
-- ywxapp/model/Notice.php 的 ensureSchema() 会尝试自建 wxapp_notice,
|
||||
-- 但若线上数据库账号无 CREATE TABLE 权限,建表语句会被 try/catch 静默吞掉,
|
||||
-- 后续 SELECT 即报 1146 Table 'ywxapp_www.wxapp_notice' doesn't exist。
|
||||
-- 用法:
|
||||
-- ① 先确认前缀:SELECT @@global.version 不重要,看报错里的表名前缀即可(此处为 wxapp_)。
|
||||
-- ② 把下面的 wxapp_ 替换成你线上实际前缀(若不同),然后在线上库执行本文件。
|
||||
-- ③ 优先方案是给线上 DB 账号授予 CREATE/ALTER 权限,自愈会自动补齐,无需手动。
|
||||
-- ============================================================
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `wxapp_notice` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '公告标题',
|
||||
`content` text COMMENT '公告内容',
|
||||
`author` varchar(50) NOT NULL DEFAULT '' COMMENT '发布人',
|
||||
`type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '类型 1系统维护 2活动公告 3版本更新 4其他',
|
||||
`is_top` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否置顶 0否 1是',
|
||||
`start_time` int(11) NOT NULL DEFAULT 0 COMMENT '展示开始时间 0=长期',
|
||||
`end_time` int(11) NOT NULL DEFAULT 0 COMMENT '展示结束时间 0=长期',
|
||||
`view_count` int(11) NOT NULL DEFAULT 0 COMMENT '浏览量',
|
||||
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
|
||||
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态 0禁用 1启用',
|
||||
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
|
||||
`update_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||||
`delete_at` int(11) NOT NULL DEFAULT 0 COMMENT '删除时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_type` (`type`),
|
||||
KEY `idx_is_top` (`is_top`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='站点公告';
|
||||
@@ -0,0 +1,65 @@
|
||||
-- ============================================================
|
||||
-- 远程服务器修复整合 SQL
|
||||
-- 适用:ywxapp 线上库(前缀示例 wxapp_,请按实际替换)
|
||||
-- 背景:
|
||||
-- 1) 自愈引擎因线上 Db::getConfig('prefix') 取空,把 wxapp_notice 建成了无前缀 notice 表,
|
||||
-- 导致 SELECT wxapp_notice 报 1146。已修复代码改用 BaseModel::currentPrefix(),
|
||||
-- 但线上已误建的表需要手动清理并重建。
|
||||
-- 2) install.sql 种子未含后台「营运」菜单,需补充插入。
|
||||
-- 用法:
|
||||
-- ① 把本文件所有 `wxapp_` 替换成你线上实际表前缀(如保持不变则直接执行)。
|
||||
-- ② 一次性执行全部语句(含清理旧表 + 建正确表 + 插菜单)。
|
||||
-- ============================================================
|
||||
|
||||
-- ---------- 1. 修复 wxapp_notice 表 ----------
|
||||
-- 1.1 清理自愈误建的无前缀表(若存在)
|
||||
DROP TABLE IF EXISTS `notice`;
|
||||
|
||||
-- 1.2 重建正确前缀的表
|
||||
CREATE TABLE IF NOT EXISTS `wxapp_notice` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '公告标题',
|
||||
`content` text COMMENT '公告内容',
|
||||
`author` varchar(50) NOT NULL DEFAULT '' COMMENT '发布人',
|
||||
`type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '类型 1系统维护 2活动公告 3版本更新 4其他',
|
||||
`is_top` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否置顶 0否 1是',
|
||||
`start_time` int(11) NOT NULL DEFAULT 0 COMMENT '展示开始时间 0=长期',
|
||||
`end_time` int(11) NOT NULL DEFAULT 0 COMMENT '展示结束时间 0=长期',
|
||||
`view_count` int(11) NOT NULL DEFAULT 0 COMMENT '浏览量',
|
||||
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
|
||||
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态 0禁用 1启用',
|
||||
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
|
||||
`update_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||||
`delete_at` int(11) NOT NULL DEFAULT 0 COMMENT '删除时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_type` (`type`),
|
||||
KEY `idx_is_top` (`is_top`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='站点公告';
|
||||
|
||||
-- ---------- 2. 补充后台「营运」菜单 ----------
|
||||
-- 2.1 若线上已存在同名菜单,先清理(避免 Duplicate entry)
|
||||
DELETE FROM `wxapp_backend_power` WHERE `name` IN ('operate','links:index','notice:index','ad:index','task:index','prop:index','medal:index','sms:index','help:index','shop:index','card:index','score:index');
|
||||
|
||||
-- 2.2 营运(顶级目录)
|
||||
INSERT INTO `wxapp_backend_power`
|
||||
(`pid`, `title`, `name`, `type`, `route`, `icon`, `sort`, `addon`, `status`, `create_at`, `update_at`, `delete_at`)
|
||||
VALUES
|
||||
(0, '营运', 'operate', 1, '/operate', 'layui-icon layui-icon-engine', 4, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0);
|
||||
|
||||
SET @operate_id = LAST_INSERT_ID();
|
||||
|
||||
-- 2.3 营运下子菜单
|
||||
INSERT INTO `wxapp_backend_power`
|
||||
(`pid`, `title`, `name`, `type`, `route`, `icon`, `sort`, `addon`, `status`, `create_at`, `update_at`, `delete_at`)
|
||||
VALUES
|
||||
(@operate_id, '友情链接', 'links:index', 2, 'links/index', '', 0, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '站点公告', 'notice:index', 2, 'notice/index', '', 1, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '站点广告', 'ad:index', 2, 'ad/index', '', 2, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '站点任务', 'task:index', 2, 'task/index', '', 3, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '道具中心', 'prop:index', 2, 'prop/index', '', 4, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '勋章中心', 'medal:index', 2, 'medal/index', '', 5, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '短信服务', 'sms:index', 2, 'sms/index', '', 6, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '站点帮助', 'help:index', 2, 'help/index', '', 7, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '电子商务', 'shop:index', 2, 'shop/index', '', 8, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '充值卡密', 'card:index', 2, 'card/index', '', 10, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '积分规则', 'score:index', 2, 'score/index', '', 11, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0);
|
||||
@@ -0,0 +1,34 @@
|
||||
-- ============================================================
|
||||
-- 后台「营运」菜单及其子菜单 插入 SQL
|
||||
-- 来源:public/install/install.sql 的 backend_power 数据(name=operate 营运 + 其下子菜单)
|
||||
-- 用法:
|
||||
-- 1. 把 wxapp_ 替换为线上实际表前缀后执行;
|
||||
-- 2. 本脚本用 @operate_id 变量避免硬编码 id 冲突(父菜单插入后取 LAST_INSERT_ID,子菜单 pid 引用它);
|
||||
-- 3. name 唯一约束:若线上已存在 operate 等菜单,会报 Duplicate entry,请先删除同名菜单或忽略;
|
||||
-- DELETE FROM `wxapp_backend_power` WHERE `name` IN ('operate','links:index','notice:index','ad:index','task:index','prop:index','medal:index','sms:index','help:index','shop:index','card:index','score:index');
|
||||
-- 4. 仅含菜单节点(type 1/2),未含按钮权限(type 3/4);如需完整权限按钮请用 Menu::export('operate') 生成。
|
||||
-- ============================================================
|
||||
|
||||
-- 营运(顶级目录)
|
||||
INSERT INTO `wxapp_backend_power`
|
||||
(`pid`, `title`, `name`, `type`, `route`, `icon`, `sort`, `addon`, `status`, `create_at`, `update_at`, `delete_at`)
|
||||
VALUES
|
||||
(0, '营运', 'operate', 1, '/operate', 'layui-icon layui-icon-engine', 4, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0);
|
||||
|
||||
SET @operate_id = LAST_INSERT_ID();
|
||||
|
||||
-- 营运下子菜单
|
||||
INSERT INTO `wxapp_backend_power`
|
||||
(`pid`, `title`, `name`, `type`, `route`, `icon`, `sort`, `addon`, `status`, `create_at`, `update_at`, `delete_at`)
|
||||
VALUES
|
||||
(@operate_id, '友情链接', 'links:index', 2, 'links/index', '', 0, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '站点公告', 'notice:index', 2, 'notice/index', '', 1, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '站点广告', 'ad:index', 2, 'ad/index', '', 2, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '站点任务', 'task:index', 2, 'task/index', '', 3, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '道具中心', 'prop:index', 2, 'prop/index', '', 4, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '勋章中心', 'medal:index', 2, 'medal/index', '', 5, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '短信服务', 'sms:index', 2, 'sms/index', '', 6, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '站点帮助', 'help:index', 2, 'help/index', '', 7, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '电子商务', 'shop:index', 2, 'shop/index', '', 8, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '充值卡密', 'card:index', 2, 'card/index', '', 10, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0),
|
||||
(@operate_id, '积分规则', 'score:index', 2, 'score/index', '', 11, NULL, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0);
|
||||
Reference in New Issue
Block a user