b43f968b6c
- 在应用程序中新增对达梦数据库(DM)的配置和连接支持 - 实现 SetDmDB 函数以配置达梦数据库连接 - 更新数据库操作逻辑,支持达梦特有的 SQL 语法和功能 - 在相关文件中添加达梦数据库的处理逻辑,包括表创建、数据插入和查询 - 更新 go.mod 和 go.sum 文件以引入达梦数据库驱动 - 增强文档,详细说明达梦数据库的配置和使用方法
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());
|