Files
YwxAppThink/addon/docs/install.sql
T

112 lines
7.7 KiB
SQL
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.
-- ============================================================
-- addon/docs/install.sql 文档中心插件数据表
-- 框架约定:插件安装时由 ywxapp\service\AddonService 执行本文件
-- (仅允许 CREATE TABLE / INSERT,见 importsql 白名单)。
-- 表名须为 __PREFIX__docs_*,与 __PREFIX__addon 等核心表命名一致。
-- 说明:owner_uid / uid / audit_status 为多用户预留字段,
-- 当前版本仅站长后台管理,全部保持默认值即可。
-- ============================================================
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
CREATE TABLE IF NOT EXISTS `__PREFIX__docs_project` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL DEFAULT '' COMMENT '英文标识,用于URL',
`title` varchar(100) NOT NULL DEFAULT '' COMMENT '项目名称',
`intro` varchar(255) NOT NULL DEFAULT '' COMMENT '项目简介',
`logo` varchar(255) NOT NULL DEFAULT '' COMMENT '项目图标',
`addon` varchar(50) NOT NULL DEFAULT '' COMMENT '归属插件标识,空表示框架自身',
`owner_uid` int unsigned NOT NULL DEFAULT '0' COMMENT '归属用户,0表示官方',
`default_version` varchar(20) NOT NULL DEFAULT '' COMMENT '默认版本标识',
`sort` int NOT NULL DEFAULT '0' COMMENT '排序,越小越前',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态:1启用 0禁用',
`create_at` int DEFAULT NULL COMMENT '创建时间',
`update_at` int DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_name` (`name`),
KEY `idx_addon` (`addon`),
KEY `idx_owner_uid` (`owner_uid`),
KEY `idx_status_sort` (`status`,`sort`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='文档项目表';
CREATE TABLE IF NOT EXISTS `__PREFIX__docs_version` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`project_id` int unsigned NOT NULL DEFAULT '0' COMMENT '所属项目ID',
`name` varchar(20) NOT NULL DEFAULT '' COMMENT '版本标识,用于URL',
`title` varchar(50) NOT NULL DEFAULT '' COMMENT '版本显示名',
`intro` varchar(255) NOT NULL DEFAULT '' COMMENT '版本说明',
`is_default` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否默认版本',
`sort` int NOT NULL DEFAULT '0' COMMENT '排序,越小越前',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态:1启用 0禁用',
`create_at` int DEFAULT NULL COMMENT '创建时间',
`update_at` int DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_project_name` (`project_id`,`name`),
KEY `idx_project_status` (`project_id`,`status`,`sort`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='文档版本表';
CREATE TABLE IF NOT EXISTS `__PREFIX__docs_doc` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`project_id` int unsigned NOT NULL DEFAULT '0' COMMENT '所属项目ID',
`version_id` int unsigned NOT NULL DEFAULT '0' COMMENT '所属版本ID',
`pid` int unsigned NOT NULL DEFAULT '0' COMMENT '父级文档ID0为顶级',
`name` varchar(100) NOT NULL DEFAULT '' COMMENT 'URL标识',
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '文档标题',
`content` longtext COMMENT '正文HTMLUEditor产出',
`content_md` longtext COMMENT 'Markdown源码,导入导出用',
`editor_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '编辑器:1富文本 2Markdown',
`is_dir` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否纯目录节点,1表示无正文仅分组',
`seo_title` varchar(200) NOT NULL DEFAULT '' COMMENT 'SEO标题',
`seo_keywords` varchar(255) NOT NULL DEFAULT '' COMMENT 'SEO关键词',
`seo_desc` varchar(500) NOT NULL DEFAULT '' COMMENT 'SEO描述',
`views` int unsigned NOT NULL DEFAULT '0' COMMENT '阅读量',
`uid` int unsigned NOT NULL DEFAULT '0' COMMENT '创建者,0表示站长后台',
`editor_uid` int unsigned NOT NULL DEFAULT '0' COMMENT '最后编辑者',
`audit_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '审核状态:0待审 1通过 2驳回',
`sort` int NOT NULL DEFAULT '0' COMMENT '排序,越小越前',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态:1显示 0隐藏',
`create_at` int DEFAULT NULL COMMENT '创建时间',
`update_at` int DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_scope_name` (`project_id`,`version_id`,`name`),
KEY `idx_tree` (`project_id`,`version_id`,`pid`,`sort`),
KEY `idx_status` (`status`),
KEY `idx_uid` (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='文档正文表';
CREATE TABLE IF NOT EXISTS `__PREFIX__docs_search` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`doc_id` int unsigned NOT NULL DEFAULT '0' COMMENT '文档ID',
`project_id` int unsigned NOT NULL DEFAULT '0' COMMENT '项目ID',
`version_id` int unsigned NOT NULL DEFAULT '0' COMMENT '版本ID',
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '文档标题副本',
`keywords` varchar(255) NOT NULL DEFAULT '' COMMENT '关键词',
`plain_text` longtext COMMENT '正文纯文本,供全文检索',
`update_at` int DEFAULT NULL COMMENT '索引更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_doc` (`doc_id`),
KEY `idx_project_version` (`project_id`,`version_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='文档搜索索引表';
INSERT INTO `__PREFIX__docs_project` (`id`, `name`, `title`, `intro`, `addon`, `owner_uid`, `default_version`, `sort`, `status`, `create_at`, `update_at`)
SELECT 1, 'framework', 'YwxApp 框架文档', '框架安装、目录结构、插件机制与命令行工具的完整说明', '', 0, 'v1', 1, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `__PREFIX__docs_project` WHERE `name` = 'framework');
INSERT INTO `__PREFIX__docs_version` (`id`, `project_id`, `name`, `title`, `intro`, `is_default`, `sort`, `status`, `create_at`, `update_at`)
SELECT 1, 1, 'v1', '1.0 版本', '当前稳定版本', 1, 1, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `__PREFIX__docs_version` WHERE `project_id` = 1 AND `name` = 'v1');
INSERT INTO `__PREFIX__docs_doc` (`id`, `project_id`, `version_id`, `pid`, `name`, `title`, `content`, `editor_type`, `is_dir`, `sort`, `status`, `create_at`, `update_at`)
SELECT 1, 1, 1, 0, 'guide', '入门指南', '', 1, 1, 1, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `__PREFIX__docs_doc` WHERE `project_id` = 1 AND `version_id` = 1 AND `name` = 'guide');
INSERT INTO `__PREFIX__docs_doc` (`id`, `project_id`, `version_id`, `pid`, `name`, `title`, `content`, `editor_type`, `is_dir`, `sort`, `status`, `create_at`, `update_at`)
SELECT 2, 1, 1, 1, 'introduction', '框架介绍', '<h2>YwxApp 是什么</h2><p>YwxApp 是一套基于 ThinkPHP 的事件驱动插件化开发框架,内置插件市场、会员体系、支付与模板机制。</p><h2>核心特性</h2><p>多应用架构、插件热插拔、事件钩子、可视化后台。</p>', 1, 0, 1, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `__PREFIX__docs_doc` WHERE `project_id` = 1 AND `version_id` = 1 AND `name` = 'introduction');
INSERT INTO `__PREFIX__docs_doc` (`id`, `project_id`, `version_id`, `pid`, `name`, `title`, `content`, `editor_type`, `is_dir`, `sort`, `status`, `create_at`, `update_at`)
SELECT 3, 1, 1, 1, 'installation', '安装部署', '<h2>环境要求</h2><p>PHP 8.0 以上,MySQL 5.7 以上,开启 pdo_mysql 与 fileinfo 扩展。</p><h2>安装步骤</h2><p>上传源码后访问安装向导,按提示填写数据库信息即可完成部署。</p>', 1, 0, 2, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `__PREFIX__docs_doc` WHERE `project_id` = 1 AND `version_id` = 1 AND `name` = 'installation');
SET FOREIGN_KEY_CHECKS = 1;