Files
nl_cms-api/database_complete.sql
2025-07-29 12:45:07 +08:00

233 lines
17 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 企业级CMS系统完整数据库初始化脚本
-- 创建数据库
CREATE DATABASE IF NOT EXISTS `cc_cms_gf` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
USE `cc_cms_gf`;
-- 用户表
CREATE TABLE IF NOT EXISTS `users` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
`account` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '账号',
`nick_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '昵称',
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '头像',
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '邮箱',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '登录密码',
`balance` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '余额',
`qr_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '微信二维码地址',
`role_id` int NOT NULL DEFAULT '0' COMMENT '角色',
`is_sys_notifications` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否接受邮件系统通知 0不接受 1接受',
`is_collection_notifications` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否接受收藏的项目更新信息 0不接受 1接受',
`is_marketing_notifications` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否接受营销信息 0不接受 1接受',
`ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '本次登录ip',
`ip_table` json NOT NULL COMMENT '常用登录IP地址列表',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态 0正常 1冻结 2封号 3注销',
`last_reset_password_at` int NOT NULL DEFAULT '0' COMMENT '最后一次修改密码的时间',
`created_at` int NOT NULL DEFAULT '0' COMMENT '注册时间',
`updated_at` int NOT NULL DEFAULT '0' COMMENT '编辑时间',
`deleted_at` int NOT NULL DEFAULT '0' COMMENT '删除时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `account` (`account`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='用户表';
-- 管理员表
CREATE TABLE IF NOT EXISTS `admins` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
`username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '用户名',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '密码',
`real_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '真实姓名',
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '邮箱',
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '手机号',
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '头像',
`role_id` int NOT NULL DEFAULT '0' COMMENT '角色ID',
`status` tinyint NOT NULL DEFAULT '1' COMMENT '状态 0禁用 1启用',
`last_login_at` int NOT NULL DEFAULT '0' COMMENT '最后登录时间',
`last_login_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '最后登录IP',
`created_at` int NOT NULL DEFAULT '0' COMMENT '创建时间',
`updated_at` int NOT NULL DEFAULT '0' COMMENT '更新时间',
`deleted_at` int NOT NULL DEFAULT '0' COMMENT '删除时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='管理员表';
-- 角色表
CREATE TABLE IF NOT EXISTS `roles` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '角色名称',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '角色描述',
`permissions` json NOT NULL COMMENT '权限列表',
`status` tinyint NOT NULL DEFAULT '1' COMMENT '状态 0禁用 1启用',
`created_at` int NOT NULL DEFAULT '0' COMMENT '创建时间',
`updated_at` int NOT NULL DEFAULT '0' COMMENT '更新时间',
`deleted_at` int NOT NULL DEFAULT '0' COMMENT '删除时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='角色表';
-- 文章表
CREATE TABLE IF NOT EXISTS `articles` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '标题',
`slug` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT 'URL别名',
`summary` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '摘要',
`content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '内容(Markdown)',
`html_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'HTML内容',
`cover_image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '封面图片',
`category_id` int NOT NULL DEFAULT '0' COMMENT '分类ID',
`tags` json NOT NULL COMMENT '标签',
`author_id` int NOT NULL DEFAULT '0' COMMENT '作者ID',
`view_count` int NOT NULL DEFAULT '0' COMMENT '浏览次数',
`like_count` int NOT NULL DEFAULT '0' COMMENT '点赞次数',
`comment_count` int NOT NULL DEFAULT '0' COMMENT '评论次数',
`is_published` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否发布 0草稿 1已发布',
`is_featured` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否推荐 0 1',
`is_top` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否置顶 0 1',
`seo_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT 'SEO标题',
`seo_description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT 'SEO描述',
`seo_keywords` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT 'SEO关键词',
`published_at` int NOT NULL DEFAULT '0' COMMENT '发布时间',
`created_at` int NOT NULL DEFAULT '0' COMMENT '创建时间',
`updated_at` int NOT NULL DEFAULT '0' COMMENT '更新时间',
`deleted_at` int NOT NULL DEFAULT '0' COMMENT '删除时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `slug` (`slug`),
KEY `category_id` (`category_id`),
KEY `author_id` (`author_id`),
KEY `is_published` (`is_published`),
KEY `is_featured` (`is_featured`),
KEY `is_top` (`is_top`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='文章表';
-- 新闻表
CREATE TABLE IF NOT EXISTS `news` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '标题',
`slug` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT 'URL别名',
`summary` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '摘要',
`content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '内容',
`cover_image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '封面图片',
`category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '分类(company_news:公司新闻,industry_news:行业动态)',
`source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '来源',
`author` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '作者',
`view_count` int NOT NULL DEFAULT '0' COMMENT '浏览次数',
`is_published` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否发布 0草稿 1已发布',
`is_featured` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否推荐 0 1',
`is_top` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否置顶 0 1',
`published_at` int NOT NULL DEFAULT '0' COMMENT '发布时间',
`created_at` int NOT NULL DEFAULT '0' COMMENT '创建时间',
`updated_at` int NOT NULL DEFAULT '0' COMMENT '更新时间',
`deleted_at` int NOT NULL DEFAULT '0' COMMENT '删除时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `slug` (`slug`),
KEY `category` (`category`),
KEY `is_published` (`is_published`),
KEY `is_featured` (`is_featured`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='新闻表';
-- 合作伙伴表
CREATE TABLE IF NOT EXISTS `partners` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '合作伙伴名称',
`logo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT 'Logo图片',
`website` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '官网地址',
`description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '描述',
`category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '分类',
`sort_order` int NOT NULL DEFAULT '0' COMMENT '排序',
`is_featured` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否推荐 0 1',
`status` tinyint NOT NULL DEFAULT '1' COMMENT '状态 0禁用 1启用',
`created_at` int NOT NULL DEFAULT '0' COMMENT '创建时间',
`updated_at` int NOT NULL DEFAULT '0' COMMENT '更新时间',
`deleted_at` int NOT NULL DEFAULT '0' COMMENT '删除时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `category` (`category`),
KEY `status` (`status`),
KEY `is_featured` (`is_featured`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='合作伙伴表';
-- 联系我们表
CREATE TABLE IF NOT EXISTS `contacts` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '姓名',
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '邮箱',
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '电话',
`company` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '公司',
`subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '主题',
`message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '留言内容',
`ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT 'IP地址',
`user_agent` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户代理',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态 0未处理 1已处理 2已回复',
`reply` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '回复内容',
`replied_at` int NOT NULL DEFAULT '0' COMMENT '回复时间',
`replied_by` int NOT NULL DEFAULT '0' COMMENT '回复人ID',
`created_at` int NOT NULL DEFAULT '0' COMMENT '创建时间',
`updated_at` int NOT NULL DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `status` (`status`),
KEY `created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='联系我们表';
-- 附件表
CREATE TABLE IF NOT EXISTS `attachments` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
`original_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '原始文件名',
`file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '存储文件名',
`file_path` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '文件路径',
`file_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '访问URL',
`file_size` bigint NOT NULL DEFAULT '0' COMMENT '文件大小(字节)',
`file_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '文件类型',
`mime_type` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT 'MIME类型',
`file_ext` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '文件扩展名',
`storage_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'local' COMMENT '存储类型(local:本地,oss:阿里云OSS,cos:腾讯云COS)',
`upload_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '上传IP',
`uploaded_by` int NOT NULL DEFAULT '0' COMMENT '上传者ID',
`usage_count` int NOT NULL DEFAULT '0' COMMENT '使用次数',
`created_at` int NOT NULL DEFAULT '0' COMMENT '创建时间',
`updated_at` int NOT NULL DEFAULT '0' COMMENT '更新时间',
`deleted_at` int NOT NULL DEFAULT '0' COMMENT '删除时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `file_type` (`file_type`),
KEY `uploaded_by` (`uploaded_by`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='附件表';
-- 网站配置表
CREATE TABLE IF NOT EXISTS `site_configs` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
`config_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '配置键',
`config_value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '配置值',
`config_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'string' COMMENT '配置类型(string,number,boolean,json,array)',
`group_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '分组名称',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '配置描述',
`sort_order` int NOT NULL DEFAULT '0' COMMENT '排序',
`is_system` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否系统配置 0 1',
`created_at` int NOT NULL DEFAULT '0' COMMENT '创建时间',
`updated_at` int NOT NULL DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `config_key` (`config_key`),
KEY `group_name` (`group_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='网站配置表';
-- 插入默认管理员账号 (用户名: admin, 密码: admin123)
INSERT IGNORE INTO `admins` (`username`, `password`, `real_name`, `email`, `phone`, `role_id`, `status`, `created_at`, `updated_at`)
VALUES ('admin', 'e10adc3949ba59abbe56e057f20f883e', '系统管理员', 'admin@example.com', '13800138000', 1, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
-- 插入默认角色
INSERT IGNORE INTO `roles` (`name`, `description`, `permissions`, `status`, `created_at`, `updated_at`)
VALUES ('超级管理员', '拥有所有权限的超级管理员', '["*"]', 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
-- 插入测试数据
INSERT IGNORE INTO `users` (`account`, `nick_name`, `email`, `password`, `role_id`, `ip_table`, `created_at`, `updated_at`)
VALUES ('testuser', '测试用户', 'test@example.com', 'e10adc3949ba59abbe56e057f20f883e', 1, '[]', UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
-- 插入测试文章
INSERT IGNORE INTO `articles` (`title`, `slug`, `summary`, `content`, `html_content`, `category_id`, `tags`, `author_id`, `is_published`, `is_featured`, `seo_title`, `seo_description`, `seo_keywords`, `published_at`, `created_at`, `updated_at`)
VALUES ('欢迎使用企业级CMS系统', 'welcome-to-cms', '这是一个功能完整的企业级内容管理系统', '# 欢迎使用企业级CMS系统\n\n这是一个基于GoFrame和Vue3开发的现代化CMS系统', '<h1>欢迎使用企业级CMS系统</h1><p>这是一个基于GoFrame和Vue3开发的现代化CMS系统</p>', 1, '["CMS", "系统介绍"]', 1, 1, 1, '企业级CMS系统介绍', '功能完整的企业级内容管理系统', 'CMS,企业级,内容管理', UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
-- 插入测试新闻
INSERT IGNORE INTO `news` (`title`, `slug`, `summary`, `content`, `category`, `source`, `author`, `is_published`, `is_featured`, `published_at`, `created_at`, `updated_at`)
VALUES ('系统正式上线', 'system-online', '企业级CMS系统正式上线运行', '经过精心开发和测试我们的企业级CMS系统今日正式上线运行', 'company_news', '官方发布', '系统管理员', 1, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
-- 插入测试合作伙伴
INSERT IGNORE INTO `partners` (`name`, `logo`, `website`, `description`, `category`, `sort_order`, `is_featured`, `status`, `created_at`, `updated_at`)
VALUES ('示例合作伙伴', '/uploads/partner-logo.jpg', 'https://www.example.com', '这是一个示例合作伙伴', '战略合作', 1, 1, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
SELECT '数据库初始化完成' as message;