笔记管理功能初始化

This commit is contained in:
2026-09-22 17:16:07 +08:00
parent a29a3979d7
commit 429e8a7bb7
15 changed files with 1443 additions and 0 deletions
@@ -0,0 +1,29 @@
-- ===========================================================================
-- 笔记模块建表脚本
--
-- 执行方式:
-- mysql -uroot -p accounting_db < migration_add_note.sql
--
-- 说明:
-- - 本表沿用 schema.sql 的既有约定(utf8mb4_unicode_ci / create_time / user_id 外键)
-- - deleted 字段配合 application.yml 里的
-- mybatis-plus.global-config.db-config.logic-delete-field=deleted
-- 自动实现逻辑删除,业务代码里不需要写 where deleted = 0
-- ===========================================================================
CREATE TABLE IF NOT EXISTS `note` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '笔记ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`title` VARCHAR(200) NOT NULL COMMENT '标题',
`content` LONGTEXT COMMENT 'Markdown 正文',
`summary` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '摘要(列表页展示,避免查询正文)',
`tags` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '标签,逗号分隔',
`is_pinned` TINYINT NOT NULL DEFAULT 0 COMMENT '是否置顶:0否 1是',
`source_path` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '导入来源文件名(便于追溯)',
`deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除:0正常 1已删除',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
INDEX `idx_user_updated` (`user_id`, `deleted`, `update_time`),
FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='笔记表';
+18
View File
@@ -123,6 +123,24 @@ CREATE TABLE IF NOT EXISTS `gold_price` (
INDEX `idx_gold_date` (`gold_id`, `price_date`) COMMENT '索引:用于按日期查询'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='黄金价格记录表';
-- 笔记表
CREATE TABLE IF NOT EXISTS `note` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '笔记ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`title` VARCHAR(200) NOT NULL COMMENT '标题',
`content` LONGTEXT COMMENT 'Markdown正文',
`summary` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '摘要(列表页展示,避免查询正文)',
`tags` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '标签,逗号分隔',
`is_pinned` TINYINT NOT NULL DEFAULT 0 COMMENT '是否置顶:0否 1是',
`source_path` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '导入来源文件名',
`deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除:0正常 1已删除',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
INDEX `idx_user_updated` (`user_id`, `deleted`, `update_time`),
FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='笔记表';
-- 插入预设分类(支出)
INSERT INTO `category` (`user_id`, `name`, `icon`, `type`, `sort_order`) VALUES
(NULL, '餐饮', '🍔', 1, 1),