Initial commit of akmon project

This commit is contained in:
2026-01-20 08:04:15 +08:00
commit 77a2bab985
1309 changed files with 343305 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
-- ===================================================================
-- 消息系统表结构验证和简单测试脚本
-- 用于验证修复后的 generate_message_data.sql 是否可以正常执行
-- ===================================================================
-- 检查消息类型表是否存在
SELECT 'ak_message_types表检查' as check_name,
CASE WHEN EXISTS (SELECT 1 FROM information_schema.tables
WHERE table_name = 'ak_message_types')
THEN '✓ 表存在'
ELSE '✗ 表不存在'
END as result;
-- 检查消息主表是否存在
SELECT 'ak_messages表检查' as check_name,
CASE WHEN EXISTS (SELECT 1 FROM information_schema.tables
WHERE table_name = 'ak_messages')
THEN '✓ 表存在'
ELSE '✗ 表不存在'
END as result;
-- 检查消息接收者表是否存在
SELECT 'ak_message_recipients表检查' as check_name,
CASE WHEN EXISTS (SELECT 1 FROM information_schema.tables
WHERE table_name = 'ak_message_recipients')
THEN '✓ 表存在'
ELSE '✗ 表不存在'
END as result;
-- 检查消息类型数据
SELECT 'message_types数据检查' as check_name,
CASE WHEN EXISTS (SELECT 1 FROM ak_message_types WHERE code = 'system')
THEN '✓ 系统消息类型存在'
ELSE '✗ 系统消息类型不存在'
END as result;
-- 显示现有消息类型
SELECT '现有消息类型' as info, code, name FROM ak_message_types ORDER BY priority DESC;
-- 检查ak_message_recipients表的列结构
SELECT '接收者表列结构' as info, column_name, data_type, is_nullable
FROM information_schema.columns
WHERE table_name = 'ak_message_recipients'
AND column_name IN ('id', 'message_id', 'recipient_id', 'recipient_type', 'status', 'read_duration_sec', 'created_at', 'updated_at')
ORDER BY ordinal_position;
-- 检查ak_messages表的列结构
SELECT '消息表列结构' as info, column_name, data_type, is_nullable
FROM information_schema.columns
WHERE table_name = 'ak_messages'
AND column_name IN ('id', 'message_type_id', 'sender_id', 'sender_type', 'title', 'content', 'priority', 'created_at', 'updated_at', 'metadata')
ORDER BY ordinal_position;
-- 简单插入测试
INSERT INTO ak_messages (id, message_type_id, sender_id, sender_type, title, content, priority, created_at, updated_at, metadata)
VALUES (
gen_random_uuid(),
(SELECT id FROM ak_message_types WHERE code = 'system'),
'00000000-0000-0000-0000-000000000001'::uuid,
'system',
'测试消息',
'这是一条测试消息,用于验证表结构是否正确。',
90,
now(),
now(),
'{"test": true}'::jsonb
) RETURNING id, title, created_at;
-- 显示插入的测试消息
SELECT '插入测试结果' as info, m.title, mt.code as message_type, m.sender_type, m.priority, m.created_at
FROM ak_messages m
JOIN ak_message_types mt ON m.message_type_id = mt.id
WHERE m.title = '测试消息';
-- 清理测试数据
DELETE FROM ak_messages WHERE title = '测试消息';