44 lines
2.5 KiB
SQL
44 lines
2.5 KiB
SQL
-- =============================================================
|
||
-- 公开待办看板(无需登录)增量脚本
|
||
-- 用途: 对外分享的待办清单页面数据源,独立于个人待办表 t_todo
|
||
-- 特性: 幂等,可重复执行
|
||
-- 执行: freedom_db
|
||
-- =============================================================
|
||
|
||
-- 1. 公开待办表
|
||
CREATE TABLE IF NOT EXISTS `t_public_todo` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`title` VARCHAR(200) NOT NULL COMMENT '标题',
|
||
`remark` TEXT COMMENT '备注(富文本 HTML)',
|
||
`priority` TINYINT DEFAULT 2 COMMENT '优先级:1低 2中 3高',
|
||
`category` VARCHAR(50) DEFAULT NULL COMMENT '分类',
|
||
`due_date` DATE DEFAULT NULL COMMENT '截止日期',
|
||
`status` TINYINT DEFAULT 0 COMMENT '状态:0未完成 1已完成',
|
||
`create_by` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
|
||
`create_date` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_by` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
|
||
`update_date` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`del_flag` TINYINT DEFAULT 0 COMMENT '删除标记:0正常 1已删除',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_public_todo_status` (`status`, `del_flag`),
|
||
KEY `idx_public_todo_due` (`due_date`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='公开待办看板表';
|
||
|
||
-- 2. 示例数据(仅当表为空时插入,便于首次打开不空白)
|
||
INSERT INTO `t_public_todo` (`title`, `remark`, `priority`, `category`, `due_date`, `status`, `create_by`)
|
||
SELECT * FROM (
|
||
SELECT '欢迎使用公开待办看板' AS title,
|
||
'这个页面无需登录,链接发给谁都能用。点左侧圆圈可以勾选完成。' AS remark,
|
||
2 AS priority, '想法' AS category, NULL AS due_date, 0 AS status, 'system' AS create_by
|
||
UNION ALL
|
||
SELECT '试试按 N 快速新建、按 / 搜索', '快捷键在底部有提示,手机端会自动隐藏。',
|
||
1, '想法', NULL, 0, 'system'
|
||
UNION ALL
|
||
SELECT '数据保存在服务器数据库', '所有人看到的是同一份清单,支持导出/导入 JSON 备份。',
|
||
3, '工作', DATE_ADD(CURDATE(), INTERVAL 3 DAY), 0, 'system'
|
||
) t
|
||
WHERE NOT EXISTS (SELECT 1 FROM `t_public_todo`);
|
||
|
||
-- 3. 兼容已存在的旧表:remark 由 VARCHAR(1000) 升级为 TEXT(重复执行无害)
|
||
ALTER TABLE `t_public_todo` MODIFY COLUMN `remark` TEXT COMMENT '备注(富文本 HTML)';
|