Files
AIclinicalresearch/backend/src/modules/pkb/routes/health.ts
HaHafeng 2481b786d8 deploy: Complete 0126-27 deployment - database upgrade, services update, code recovery
Major Changes:
- Database: Install pg_bigm/pgvector plugins, create test database
- Python service: v1.0 -> v1.1, add pymupdf4llm/openpyxl/pypandoc
- Node.js backend: v1.3 -> v1.7, fix pino-pretty and ES Module imports
- Frontend: v1.2 -> v1.3, skip TypeScript check for deployment
- Code recovery: Restore empty files from local backup

Technical Fixes:
- Fix pino-pretty error in production (conditional loading)
- Fix ES Module import paths (add .js extensions)
- Fix OSSAdapter TypeScript errors
- Update Prisma Schema (63 models, 16 schemas)
- Update environment variables (DATABASE_URL, EXTRACTION_SERVICE_URL, OSS)
- Remove deprecated variables (REDIS_URL, DIFY_API_URL, DIFY_API_KEY)

Documentation:
- Create 0126 deployment folder with 8 documents
- Update database development standards v2.0
- Update SAE deployment status records

Deployment Status:
- PostgreSQL: ai_clinical_research_test with plugins
- Python: v1.1 @ 172.17.173.84:8000
- Backend: v1.7 @ 172.17.173.89:3001
- Frontend: v1.3 @ 172.17.173.90:80

Tested: All services running successfully on SAE
2026-01-27 08:13:27 +08:00

76 lines
1.2 KiB
TypeScript

/**
* PKB模块健康检查路由
*/
import { FastifyInstance, FastifyRequest, FastifyReply } from 'fastify';
import { prisma } from '../../../config/database.js';
export default async function healthRoutes(fastify: FastifyInstance) {
// PKB模块健康检查
fastify.get('/health', async (request: FastifyRequest, reply: FastifyReply) => {
try {
// 检查数据库连接
await prisma.$queryRaw`SELECT 1`;
// 检查pkb_schema是否可访问
const kbCount = await prisma.knowledgeBase.count();
return reply.send({
status: 'ok',
module: 'pkb',
version: 'v2',
timestamp: new Date().toISOString(),
database: {
connected: true,
schema: 'pkb_schema',
knowledgeBases: kbCount,
},
message: 'PKB模块运行正常',
});
} catch (error: any) {
return reply.status(503).send({
status: 'error',
module: 'pkb',
version: 'v2',
timestamp: new Date().toISOString(),
database: {
connected: false,
error: error.message,
},
message: 'PKB模块健康检查失败',
});
}
});
}