105 lines
5.0 KiB
SQL
105 lines
5.0 KiB
SQL
|
|
-- MySQL 测试数据库初始化脚本
|
|||
|
|
-- 数据库: test(在 config.json 中配置 "mysql": {"name": "test", ...})
|
|||
|
|
-- 执行前确保已连接到 test 数据库:USE test;
|
|||
|
|
|
|||
|
|
-- ===================== DDL =====================
|
|||
|
|
|
|||
|
|
CREATE TABLE IF NOT EXISTS `admin` (
|
|||
|
|
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
|||
|
|
`name` varchar(100) DEFAULT NULL,
|
|||
|
|
`phone` varchar(20) DEFAULT NULL,
|
|||
|
|
`state` int(2) DEFAULT '0',
|
|||
|
|
`password` varchar(100) DEFAULT NULL,
|
|||
|
|
`role_id` int(11) DEFAULT '0',
|
|||
|
|
`title` varchar(100) DEFAULT NULL,
|
|||
|
|
`create_time` datetime DEFAULT NULL,
|
|||
|
|
`modify_time` datetime DEFAULT NULL,
|
|||
|
|
PRIMARY KEY (`id`),
|
|||
|
|
UNIQUE KEY `uk_phone` (`phone`)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理员表';
|
|||
|
|
|
|||
|
|
CREATE TABLE IF NOT EXISTS `ctg` (
|
|||
|
|
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
|||
|
|
`name` varchar(100) DEFAULT NULL,
|
|||
|
|
`state` int(2) DEFAULT '0',
|
|||
|
|
`create_time` datetime DEFAULT NULL,
|
|||
|
|
`modify_time` datetime DEFAULT NULL,
|
|||
|
|
PRIMARY KEY (`id`)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='分类表';
|
|||
|
|
|
|||
|
|
CREATE TABLE IF NOT EXISTS `article` (
|
|||
|
|
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
|||
|
|
`title` varchar(200) DEFAULT NULL,
|
|||
|
|
`author` varchar(100) DEFAULT NULL,
|
|||
|
|
`content` text,
|
|||
|
|
`state` int(2) DEFAULT '0' COMMENT '0正常 1归档 2隐藏',
|
|||
|
|
`click_num` int(11) DEFAULT '0',
|
|||
|
|
`sort` int(11) DEFAULT '0',
|
|||
|
|
`img` varchar(500) DEFAULT NULL,
|
|||
|
|
`ctg_id` int(11) DEFAULT '0',
|
|||
|
|
`admin_id` int(11) DEFAULT '0',
|
|||
|
|
`create_time` datetime DEFAULT NULL,
|
|||
|
|
`modify_time` datetime DEFAULT NULL,
|
|||
|
|
PRIMARY KEY (`id`),
|
|||
|
|
KEY `idx_state` (`state`),
|
|||
|
|
KEY `idx_ctg_id` (`ctg_id`)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文章表';
|
|||
|
|
|
|||
|
|
CREATE TABLE IF NOT EXISTS `test_batch` (
|
|||
|
|
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
|||
|
|
`name` varchar(100) DEFAULT NULL,
|
|||
|
|
`title` varchar(200) DEFAULT NULL,
|
|||
|
|
`state` int(2) DEFAULT '0',
|
|||
|
|
`create_time` datetime DEFAULT NULL,
|
|||
|
|
PRIMARY KEY (`id`)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='批量测试表';
|
|||
|
|
|
|||
|
|
CREATE TABLE IF NOT EXISTS `cached` (
|
|||
|
|
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
|||
|
|
`key` varchar(64) DEFAULT NULL,
|
|||
|
|
`value` text,
|
|||
|
|
`endtime` bigint(20) DEFAULT NULL,
|
|||
|
|
`time` bigint(20) DEFAULT NULL,
|
|||
|
|
PRIMARY KEY (`id`)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='老版本缓存表';
|
|||
|
|
|
|||
|
|
CREATE TABLE IF NOT EXISTS `hotime_cache` (
|
|||
|
|
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
|||
|
|
`key` varchar(64) NOT NULL COMMENT '缓存键',
|
|||
|
|
`value` text DEFAULT NULL COMMENT '缓存值',
|
|||
|
|
`end_time` datetime DEFAULT NULL COMMENT '过期时间',
|
|||
|
|
`state` int(2) DEFAULT '0',
|
|||
|
|
`create_time` datetime DEFAULT NULL,
|
|||
|
|
`modify_time` datetime DEFAULT NULL,
|
|||
|
|
PRIMARY KEY (`id`),
|
|||
|
|
UNIQUE KEY `uk_key` (`key`),
|
|||
|
|
KEY `idx_end_time` (`end_time`)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='缓存管理';
|
|||
|
|
|
|||
|
|
-- ===================== DML 种子数据 =====================
|
|||
|
|
|
|||
|
|
INSERT IGNORE INTO `ctg` (`name`, `state`, `create_time`, `modify_time`) VALUES
|
|||
|
|
('新闻资讯', 0, NOW(), NOW()),
|
|||
|
|
('技术文档', 0, NOW(), NOW()),
|
|||
|
|
('公告通知', 0, NOW(), NOW()),
|
|||
|
|
('产品介绍', 0, NOW(), NOW()),
|
|||
|
|
('已归档', 1, NOW(), NOW());
|
|||
|
|
|
|||
|
|
INSERT IGNORE INTO `admin` (`name`, `phone`, `state`, `password`, `role_id`, `title`, `create_time`, `modify_time`) VALUES
|
|||
|
|
('超级管理员', '13800000001', 1, 'admin123', 1, '系统管理员', NOW(), NOW()),
|
|||
|
|
('编辑员', '13800000002', 1, 'editor123', 2, '内容编辑', NOW(), NOW()),
|
|||
|
|
('审核员', '13800000003', 1, 'review123', 3, '内容审核', NOW(), NOW());
|
|||
|
|
|
|||
|
|
INSERT INTO `article` (`title`, `author`, `content`, `state`, `click_num`, `sort`, `ctg_id`, `admin_id`, `create_time`, `modify_time`) VALUES
|
|||
|
|
('数据库入门指南', '管理员', '国产关系型数据库管理系统入门...', 0, 128, 10, 1, 1, NOW(), NOW()),
|
|||
|
|
('新闻发布系统上线公告', '编辑员', '本系统已正式上线运行...', 0, 256, 5, 1, 2, NOW(), NOW()),
|
|||
|
|
('Go语言最佳实践', '管理员', 'Go语言在后端开发中的最佳实践总结...', 0, 512, 8, 2, 1, NOW(), NOW()),
|
|||
|
|
('API接口设计规范', '审核员', 'RESTful API设计的基本规范和标准...', 0, 64, 15, 2, 3, NOW(), NOW()),
|
|||
|
|
('系统维护通知', '管理员', '系统将于本周日凌晨进行维护升级...', 0, 32, 1, 3, 1, NOW(), NOW()),
|
|||
|
|
('产品功能更新说明', '编辑员', '新版本增加了以下功能...', 0, 96, 12, 4, 2, NOW(), NOW()),
|
|||
|
|
('数据库性能优化指南', '管理员', '数据库性能优化的常见方法和技巧...', 0, 1024, 3, 2, 1, NOW(), NOW()),
|
|||
|
|
('缓存机制深入分析', '审核员', '缓存在Web应用中的重要作用...', 0, 200, 7, 2, 3, NOW(), NOW()),
|
|||
|
|
('旧版公告(已归档)', '管理员', '此公告已过期归档...', 1, 10, 0, 5, 1, NOW(), NOW()),
|
|||
|
|
('测试文章(隐藏)', '编辑员', '测试用文章不公开显示...', 2, 0, 0, 1, 2, NOW(), NOW()),
|
|||
|
|
('高点击量文章', '编辑员', '这是一篇点击量很高的文章...', 0, 9999, 2, 1, 2, NOW(), NOW());
|