-- 企业级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系统。', '

欢迎使用企业级CMS系统

这是一个基于GoFrame和Vue3开发的现代化CMS系统。

', 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;