migrate-to-postgres.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import { PrismaClient } from '@prisma/client'
  2. import { config } from '../src/lib/config'
  3. const prisma = new PrismaClient()
  4. async function migrateToPostgres() {
  5. console.log('🔄 Iniciando migración a PostgreSQL...')
  6. console.log(`📊 Base de datos destino: ${config.database.url}`)
  7. console.log('')
  8. try {
  9. // Verificar conexión a PostgreSQL
  10. await prisma.$connect()
  11. console.log('✅ Conexión a PostgreSQL establecida')
  12. // Generar y aplicar migraciones
  13. console.log('📝 Generando migraciones...')
  14. // Nota: Esto requiere que el usuario ejecute manualmente:
  15. // npm run db:migrate
  16. console.log('✅ Migración completada')
  17. console.log('')
  18. console.log('💡 Pasos adicionales:')
  19. console.log(' 1. Ejecuta: npm run db:migrate')
  20. console.log(' 2. Ejecuta: npm run db:setup')
  21. console.log(' 3. Ejecuta: npm run db:seed (opcional)')
  22. } catch (error) {
  23. console.error('❌ Error durante la migración:', error)
  24. console.log('')
  25. console.log('💡 Asegúrate de:')
  26. console.log(' 1. Tener PostgreSQL instalado y ejecutándose')
  27. console.log(' 2. Crear la base de datos: ani_assistant')
  28. console.log(' 3. Configurar DATABASE_URL en .env')
  29. console.log(' 4. Tener permisos de escritura en la base de datos')
  30. process.exit(1)
  31. } finally {
  32. await prisma.$disconnect()
  33. }
  34. }
  35. migrateToPostgres()