-- ============================================================ -- 远程服务器修复整合 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);