migration.sql 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. -- Backups Torqvoice runs for a workshop on the cloud instance (one restic
  2. -- repository per workshop in a bucket of ours), beside the destinations a
  3. -- workshop connects itself. A run row now says which of the two it belongs
  4. -- to, and a platform run has no connection. Existing rows are destination
  5. -- runs and keep their connection.
  6. -- AlterTable
  7. ALTER TABLE "backup_runs" ALTER COLUMN "connectionId" DROP NOT NULL;
  8. ALTER TABLE "backup_runs" ADD COLUMN "kind" TEXT NOT NULL DEFAULT 'destination';
  9. ALTER TABLE "backup_runs" ADD COLUMN "safetySnapshotId" TEXT;
  10. ALTER TABLE "backup_runs" ADD COLUMN "requestedBy" TEXT;
  11. ALTER TABLE "backup_runs" ADD COLUMN "reason" TEXT;
  12. -- DropIndex
  13. DROP INDEX IF EXISTS "backup_runs_organizationId_createdAt_idx";
  14. DROP INDEX IF EXISTS "backup_runs_status_idx";
  15. -- CreateIndex
  16. CREATE INDEX "backup_runs_organizationId_kind_createdAt_idx" ON "backup_runs"("organizationId", "kind", "createdAt");
  17. CREATE INDEX "backup_runs_status_createdAt_idx" ON "backup_runs"("status", "createdAt");
  18. -- CreateTable
  19. CREATE TABLE "platform_backups" (
  20. "organizationId" TEXT NOT NULL,
  21. "lastScheduledAt" TIMESTAMP(3),
  22. "lastGoodAt" TIMESTAMP(3),
  23. "lastPruneAt" TIMESTAMP(3),
  24. "lastCheckAt" TIMESTAMP(3),
  25. "retryAt" TIMESTAMP(3),
  26. "pausedAt" TIMESTAMP(3),
  27. "purgedAt" TIMESTAMP(3),
  28. "repositorySize" BIGINT,
  29. "snapshots" JSONB NOT NULL DEFAULT '[]',
  30. "lastFailureMailAt" TIMESTAMP(3),
  31. "lastOverdueAlertAt" TIMESTAMP(3),
  32. "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
  33. "updatedAt" TIMESTAMP(3) NOT NULL,
  34. CONSTRAINT "platform_backups_pkey" PRIMARY KEY ("organizationId")
  35. );
  36. -- CreateIndex
  37. CREATE INDEX "platform_backups_pausedAt_idx" ON "platform_backups"("pausedAt");
  38. -- AddForeignKey
  39. ALTER TABLE "platform_backups" ADD CONSTRAINT "platform_backups_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES "organizations"("id") ON DELETE CASCADE ON UPDATE CASCADE;