#!/bin/bash # 修复失败的数据库迁移脚本 SSH_HOST="180.76.240.104-root" REMOTE_DIR="/var/www/chinese-family-tree" echo "正在修复服务器上的数据库迁移..." ssh $SSH_HOST bash << 'ENDSSH' cd /var/www/chinese-family-tree echo "1. 标记失败的迁移为已回滚..." npx prisma migrate resolve --rolled-back 20251221065810_add_tree_entity_type echo "2. 手动添加枚举值..." sudo -u postgres psql -d family_tree -c "ALTER TYPE \"EntityType\" ADD VALUE IF NOT EXISTS 'TREE';" sudo -u postgres psql -d family_tree -c "ALTER TYPE \"Action\" ADD VALUE IF NOT EXISTS 'ERROR';" echo "3. 标记迁移为已应用..." npx prisma migrate resolve --applied 20251221065810_add_tree_entity_type npx prisma migrate resolve --applied 20251221065955_add_error_action_type echo "4. 重新生成 Prisma 客户端..." npx prisma generate echo "5. 重启应用..." pm2 restart chinese-family-tree echo "✓ 修复完成!" ENDSSH echo "修复脚本执行完毕"