mmap/migrations/008_create_category_pages.sql
tsuki d29679c6f8
Some checks are pending
Docker Build and Push / build (push) Waiting to run
add casbin
2025-08-11 21:26:29 +08:00

165 lines
8.7 KiB
SQL
Raw Permalink 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.

-- 为每个配置分类创建对应的页面和默认的排版块
-- 这个迁移文件将创建以下页面:
-- 1. app - 应用配置页面
-- 2. database - 数据库配置页面
-- 3. kafka - Kafka配置页面
-- 4. security - 安全配置页面
-- 5. logging - 日志配置页面
-- 6. cache - 缓存配置页面
-- 创建应用配置页面
INSERT INTO pages (id, title, slug, description, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), '应用配置', 'app-settings', '应用基本配置管理页面', true, NOW(), NOW()),
(gen_random_uuid(), '数据库配置', 'database-settings', '数据库连接和性能配置管理页面', true, NOW(), NOW()),
(gen_random_uuid(), 'Kafka配置', 'kafka-settings', 'Kafka消息队列配置管理页面', true, NOW(), NOW()),
(gen_random_uuid(), '安全配置', 'security-settings', '安全策略和权限配置管理页面', true, NOW(), NOW()),
(gen_random_uuid(), '日志配置', 'logging-settings', '日志级别和文件管理配置页面', true, NOW(), NOW()),
(gen_random_uuid(), '缓存配置', 'cache-settings', '缓存策略和性能配置管理页面', true, NOW(), NOW());
-- 获取页面ID用于创建块
DO $$
DECLARE
app_page_id UUID;
database_page_id UUID;
kafka_page_id UUID;
security_page_id UUID;
logging_page_id UUID;
cache_page_id UUID;
BEGIN
-- 获取页面ID
SELECT id INTO app_page_id FROM pages WHERE slug = 'app-settings';
SELECT id INTO database_page_id FROM pages WHERE slug = 'database-settings';
SELECT id INTO kafka_page_id FROM pages WHERE slug = 'kafka-settings';
SELECT id INTO security_page_id FROM pages WHERE slug = 'security-settings';
SELECT id INTO logging_page_id FROM pages WHERE slug = 'logging-settings';
SELECT id INTO cache_page_id FROM pages WHERE slug = 'cache-settings';
-- 为应用配置页面创建块
-- 1. 英雄块 - 页面标题
INSERT INTO hero_blocks (id, page_id, block_order, title, subtitle, background_color, text_color, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), app_page_id, 1, '应用配置管理', '管理系统的基本配置信息', '#4F46E5', '#FFFFFF', true, NOW(), NOW());
-- 2. 设置块 - 应用配置
INSERT INTO settings_blocks (id, page_id, block_order, title, category, editable, display_mode, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), app_page_id, 2, '应用基本配置', 'app', true, 'form', true, NOW(), NOW());
-- 3. 文本块 - 说明文档
INSERT INTO text_blocks (id, page_id, block_order, title, markdown, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), app_page_id, 3, '配置说明', '## 应用配置说明
这里可以管理应用的基本配置信息,包括:
- **应用名称**: 系统显示的名称
- **应用版本**: 当前系统版本号
- **调试模式**: 是否启用调试功能
- **系统时区**: 系统使用的时区设置
> 注意:这些配置项为系统级配置,修改后可能需要重启应用才能生效。', true, NOW(), NOW());
-- 为数据库配置页面创建块
-- 1. 英雄块
INSERT INTO hero_blocks (id, page_id, block_order, title, subtitle, background_color, text_color, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), database_page_id, 1, '数据库配置管理', '管理数据库连接和性能配置', '#059669', '#FFFFFF', true, NOW(), NOW());
-- 2. 设置块
INSERT INTO settings_blocks (id, page_id, block_order, title, category, editable, display_mode, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), database_page_id, 2, '数据库配置', 'database', true, 'form', true, NOW(), NOW());
-- 3. 文本块
INSERT INTO text_blocks (id, page_id, block_order, title, markdown, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), database_page_id, 3, '配置说明', '## 数据库配置说明
管理数据库相关的配置参数:
- **最大连接数**: 数据库连接池的最大连接数量
- **连接超时**: 数据库连接的超时时间设置
> 警告:修改这些配置可能会影响系统性能,请谨慎操作。', true, NOW(), NOW());
-- 为Kafka配置页面创建块
-- 1. 英雄块
INSERT INTO hero_blocks (id, page_id, block_order, title, subtitle, background_color, text_color, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), kafka_page_id, 1, 'Kafka配置管理', '管理Kafka消息队列配置', '#DC2626', '#FFFFFF', true, NOW(), NOW());
-- 2. 设置块
INSERT INTO settings_blocks (id, page_id, block_order, title, category, editable, display_mode, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), kafka_page_id, 2, 'Kafka配置', 'kafka', true, 'form', true, NOW(), NOW());
-- 3. 文本块
INSERT INTO text_blocks (id, page_id, block_order, title, markdown, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), kafka_page_id, 3, '配置说明', '## Kafka配置说明
管理Kafka消息队列的相关配置
- **最大重试次数**: 消息发送失败时的最大重试次数
- **重试延迟**: 重试之间的延迟时间
> 提示:合理的重试配置可以提高消息传递的可靠性。', true, NOW(), NOW());
-- 为安全配置页面创建块
-- 1. 英雄块
INSERT INTO hero_blocks (id, page_id, block_order, title, subtitle, background_color, text_color, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), security_page_id, 1, '安全配置管理', '管理安全策略和权限配置', '#7C3AED', '#FFFFFF', true, NOW(), NOW());
-- 2. 设置块
INSERT INTO settings_blocks (id, page_id, block_order, title, category, editable, display_mode, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), security_page_id, 2, '安全配置', 'security', true, 'form', true, NOW(), NOW());
-- 3. 文本块
INSERT INTO text_blocks (id, page_id, block_order, title, markdown, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), security_page_id, 3, '配置说明', '## 安全配置说明
管理系统的安全相关配置:
- **会话超时**: 用户会话的超时时间
- **最大登录尝试**: 允许的最大登录失败次数
> 重要:这些配置直接影响系统安全性,请根据实际需求谨慎设置。', true, NOW(), NOW());
-- 为日志配置页面创建块
-- 1. 英雄块
INSERT INTO hero_blocks (id, page_id, block_order, title, subtitle, background_color, text_color, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), logging_page_id, 1, '日志配置管理', '管理日志级别和文件管理配置', '#F59E0B', '#FFFFFF', true, NOW(), NOW());
-- 2. 设置块
INSERT INTO settings_blocks (id, page_id, block_order, title, category, editable, display_mode, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), logging_page_id, 2, '日志配置', 'logging', true, 'form', true, NOW(), NOW());
-- 3. 文本块
INSERT INTO text_blocks (id, page_id, block_order, title, markdown, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), logging_page_id, 3, '配置说明', '## 日志配置说明
管理系统日志的相关配置:
- **日志级别**: 记录日志的详细程度
- **最大日志文件数**: 保留的日志文件数量
> 建议:生产环境建议使用 info 或 warn 级别,避免过多的日志输出。', true, NOW(), NOW());
-- 为缓存配置页面创建块
-- 1. 英雄块
INSERT INTO hero_blocks (id, page_id, block_order, title, subtitle, background_color, text_color, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), cache_page_id, 1, '缓存配置管理', '管理缓存策略和性能配置', '#10B981', '#FFFFFF', true, NOW(), NOW());
-- 2. 设置块
INSERT INTO settings_blocks (id, page_id, block_order, title, category, editable, display_mode, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), cache_page_id, 2, '缓存配置', 'cache', true, 'form', true, NOW(), NOW());
-- 3. 文本块
INSERT INTO text_blocks (id, page_id, block_order, title, markdown, is_active, created_at, updated_at) VALUES
(gen_random_uuid(), cache_page_id, 3, '配置说明', '## 缓存配置说明
管理系统缓存的配置参数:
- **缓存生存时间**: 缓存数据的有效期
- **缓存最大条目数**: 缓存中允许的最大条目数量
> 优化:合理的缓存配置可以显著提升系统性能。', true, NOW(), NOW());
END $$;
-- 创建索引以提高查询性能
CREATE INDEX IF NOT EXISTS idx_pages_slug ON pages(slug);
CREATE INDEX IF NOT EXISTS idx_hero_blocks_page_id ON hero_blocks(page_id);
CREATE INDEX IF NOT EXISTS idx_settings_blocks_page_id ON settings_blocks(page_id);
CREATE INDEX IF NOT EXISTS idx_text_blocks_page_id ON text_blocks(page_id);