chore: add remaining test docs, scripts and temp files
- Add Git commit preparation checklist - Add Phase testing guides and issue tracking - Add utility scripts (env setup, test data initialization) - Add temp migration SQL files (for reference) - Update startup scripts and README - Remove obsolete scripts
This commit is contained in:
155
backend/temp-migration/005-validate-simple.sql
Normal file
155
backend/temp-migration/005-validate-simple.sql
Normal file
@@ -0,0 +1,155 @@
|
||||
-- ========================================
|
||||
-- 简化版验证脚本
|
||||
-- ========================================
|
||||
|
||||
-- 验证10个Schema是否创建
|
||||
DO $$
|
||||
DECLARE
|
||||
schema_count INTEGER;
|
||||
BEGIN
|
||||
SELECT COUNT(*) INTO schema_count
|
||||
FROM information_schema.schemata
|
||||
WHERE schema_name IN (
|
||||
'platform_schema', 'aia_schema', 'pkb_schema',
|
||||
'asl_schema', 'common_schema', 'dc_schema',
|
||||
'rvw_schema', 'admin_schema', 'ssa_schema', 'st_schema'
|
||||
);
|
||||
|
||||
RAISE NOTICE '========================================';
|
||||
IF schema_count = 10 THEN
|
||||
RAISE NOTICE '✅ 10个Schema全部创建成功';
|
||||
ELSE
|
||||
RAISE WARNING '⚠️ Schema数量异常: 预期10个,实际%个', schema_count;
|
||||
END IF;
|
||||
RAISE NOTICE '========================================';
|
||||
END $$;
|
||||
|
||||
-- 验证表数量
|
||||
DO $$
|
||||
DECLARE
|
||||
platform_tables INTEGER;
|
||||
aia_tables INTEGER;
|
||||
pkb_tables INTEGER;
|
||||
BEGIN
|
||||
SELECT COUNT(*) INTO platform_tables FROM pg_tables WHERE schemaname = 'platform_schema';
|
||||
SELECT COUNT(*) INTO aia_tables FROM pg_tables WHERE schemaname = 'aia_schema';
|
||||
SELECT COUNT(*) INTO pkb_tables FROM pg_tables WHERE schemaname = 'pkb_schema';
|
||||
|
||||
RAISE NOTICE '表数量统计:';
|
||||
RAISE NOTICE 'platform_schema: % 个表 (预期1个)', platform_tables;
|
||||
RAISE NOTICE 'aia_schema: % 个表 (预期5个)', aia_tables;
|
||||
RAISE NOTICE 'pkb_schema: % 个表 (预期5个)', pkb_tables;
|
||||
|
||||
IF platform_tables = 1 AND aia_tables = 5 AND pkb_tables = 5 THEN
|
||||
RAISE NOTICE '✅ 所有表创建成功';
|
||||
ELSE
|
||||
RAISE WARNING '⚠️ 表数量存在异常';
|
||||
END IF;
|
||||
RAISE NOTICE '========================================';
|
||||
END $$;
|
||||
|
||||
-- 验证数据量
|
||||
DO $$
|
||||
DECLARE
|
||||
public_users INTEGER;
|
||||
platform_users INTEGER;
|
||||
public_projects INTEGER;
|
||||
aia_projects INTEGER;
|
||||
public_kb INTEGER;
|
||||
pkb_kb INTEGER;
|
||||
BEGIN
|
||||
-- 统计users
|
||||
SELECT COUNT(*) INTO public_users FROM public.users;
|
||||
SELECT COUNT(*) INTO platform_users FROM platform_schema.users;
|
||||
|
||||
-- 统计projects
|
||||
SELECT COUNT(*) INTO public_projects FROM public.projects;
|
||||
SELECT COUNT(*) INTO aia_projects FROM aia_schema.projects;
|
||||
|
||||
-- 统计knowledge_bases
|
||||
SELECT COUNT(*) INTO public_kb FROM public.knowledge_bases;
|
||||
SELECT COUNT(*) INTO pkb_kb FROM pkb_schema.knowledge_bases;
|
||||
|
||||
RAISE NOTICE '数据量对比:';
|
||||
RAISE NOTICE 'users: public.% -> platform_schema.%', public_users, platform_users;
|
||||
RAISE NOTICE 'projects: public.% -> aia_schema.%', public_projects, aia_projects;
|
||||
RAISE NOTICE 'knowledge_bases: public.% -> pkb_schema.%', public_kb, pkb_kb;
|
||||
|
||||
IF public_users = platform_users AND
|
||||
public_projects = aia_projects AND
|
||||
public_kb = pkb_kb THEN
|
||||
RAISE NOTICE '✅ 数据迁移完整';
|
||||
ELSE
|
||||
RAISE WARNING '⚠️ 数据量存在差异';
|
||||
END IF;
|
||||
RAISE NOTICE '========================================';
|
||||
END $$;
|
||||
|
||||
-- 验证外键约束
|
||||
DO $$
|
||||
DECLARE
|
||||
fk_count INTEGER;
|
||||
BEGIN
|
||||
SELECT COUNT(*) INTO fk_count
|
||||
FROM information_schema.table_constraints
|
||||
WHERE constraint_type = 'FOREIGN KEY'
|
||||
AND table_schema IN ('platform_schema', 'aia_schema', 'pkb_schema');
|
||||
|
||||
RAISE NOTICE '外键约束统计:';
|
||||
RAISE NOTICE '外键约束总数:%', fk_count;
|
||||
RAISE NOTICE '✅ 外键约束已建立';
|
||||
RAISE NOTICE '========================================';
|
||||
END $$;
|
||||
|
||||
-- 验证跨Schema引用
|
||||
DO $$
|
||||
DECLARE
|
||||
invalid_aia_projects INTEGER;
|
||||
invalid_pkb_kb INTEGER;
|
||||
BEGIN
|
||||
-- 验证aia_schema.projects
|
||||
SELECT COUNT(*) INTO invalid_aia_projects
|
||||
FROM aia_schema.projects p
|
||||
LEFT JOIN platform_schema.users u ON p.user_id = u.id
|
||||
WHERE u.id IS NULL;
|
||||
|
||||
-- 验证pkb_schema.knowledge_bases
|
||||
SELECT COUNT(*) INTO invalid_pkb_kb
|
||||
FROM pkb_schema.knowledge_bases kb
|
||||
LEFT JOIN platform_schema.users u ON kb.user_id = u.id
|
||||
WHERE u.id IS NULL;
|
||||
|
||||
RAISE NOTICE '跨Schema引用验证:';
|
||||
IF invalid_aia_projects = 0 THEN
|
||||
RAISE NOTICE '✅ aia_schema.projects外键全部有效';
|
||||
ELSE
|
||||
RAISE WARNING '⚠️ aia_schema.projects有%条无效user_id', invalid_aia_projects;
|
||||
END IF;
|
||||
|
||||
IF invalid_pkb_kb = 0 THEN
|
||||
RAISE NOTICE '✅ pkb_schema.knowledge_bases外键全部有效';
|
||||
ELSE
|
||||
RAISE WARNING '⚠️ pkb_schema.knowledge_bases有%条无效user_id', invalid_pkb_kb;
|
||||
END IF;
|
||||
RAISE NOTICE '========================================';
|
||||
END $$;
|
||||
|
||||
-- 最终总结
|
||||
DO $$
|
||||
BEGIN
|
||||
RAISE NOTICE '';
|
||||
RAISE NOTICE '🎉🎉🎉 Schema迁移验证完成 🎉🎉🎉';
|
||||
RAISE NOTICE '';
|
||||
RAISE NOTICE '下一步:';
|
||||
RAISE NOTICE '1. 更新Prisma配置(schema.prisma)';
|
||||
RAISE NOTICE '2. 生成Prisma Client';
|
||||
RAISE NOTICE '3. 更新代码以使用新Schema';
|
||||
RAISE NOTICE '4. 测试现有功能';
|
||||
RAISE NOTICE '';
|
||||
RAISE NOTICE '========================================';
|
||||
END $$;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
17
backend/temp-migration/quick-check.sql
Normal file
17
backend/temp-migration/quick-check.sql
Normal file
@@ -0,0 +1,17 @@
|
||||
-- 快速检查Schema和数据
|
||||
SELECT
|
||||
'Schema检查' as check_type,
|
||||
schema_name,
|
||||
(SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = s.schema_name) as table_count
|
||||
FROM information_schema.schemata s
|
||||
WHERE schema_name IN (
|
||||
'platform_schema', 'aia_schema', 'pkb_schema',
|
||||
'asl_schema', 'common_schema', 'dc_schema',
|
||||
'rvw_schema', 'admin_schema', 'ssa_schema', 'st_schema'
|
||||
)
|
||||
ORDER BY schema_name;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user