migration.sql 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. -- CreateEnum
  2. CREATE TYPE "AppointmentStatus" AS ENUM ('PENDIENTE', 'APROBADA', 'RECHAZADA', 'COMPLETADA', 'CANCELADA');
  3. -- CreateTable
  4. CREATE TABLE "Appointment" (
  5. "id" TEXT NOT NULL,
  6. "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
  7. "updatedAt" TIMESTAMP(3) NOT NULL,
  8. "pacienteId" TEXT NOT NULL,
  9. "medicoId" TEXT,
  10. "recordId" TEXT,
  11. "fechaSolicitada" TIMESTAMP(3) NOT NULL,
  12. "estado" "AppointmentStatus" NOT NULL DEFAULT 'PENDIENTE',
  13. "motivoConsulta" TEXT NOT NULL,
  14. "motivoRechazo" TEXT,
  15. "notas" TEXT,
  16. "roomName" TEXT,
  17. CONSTRAINT "Appointment_pkey" PRIMARY KEY ("id")
  18. );
  19. -- CreateIndex
  20. CREATE UNIQUE INDEX "Appointment_recordId_key" ON "Appointment"("recordId");
  21. -- CreateIndex
  22. CREATE UNIQUE INDEX "Appointment_roomName_key" ON "Appointment"("roomName");
  23. -- CreateIndex
  24. CREATE INDEX "Appointment_pacienteId_idx" ON "Appointment"("pacienteId");
  25. -- CreateIndex
  26. CREATE INDEX "Appointment_medicoId_idx" ON "Appointment"("medicoId");
  27. -- CreateIndex
  28. CREATE INDEX "Appointment_estado_idx" ON "Appointment"("estado");
  29. -- CreateIndex
  30. CREATE INDEX "Appointment_fechaSolicitada_idx" ON "Appointment"("fechaSolicitada");
  31. -- AddForeignKey
  32. ALTER TABLE "Appointment" ADD CONSTRAINT "Appointment_pacienteId_fkey" FOREIGN KEY ("pacienteId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
  33. -- AddForeignKey
  34. ALTER TABLE "Appointment" ADD CONSTRAINT "Appointment_medicoId_fkey" FOREIGN KEY ("medicoId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
  35. -- AddForeignKey
  36. ALTER TABLE "Appointment" ADD CONSTRAINT "Appointment_recordId_fkey" FOREIGN KEY ("recordId") REFERENCES "Record"("id") ON DELETE SET NULL ON UPDATE CASCADE;