484 lines
18 KiB
PL/PgSQL
484 lines
18 KiB
PL/PgSQL
BEGIN;
|
|
-- CreateEnum
|
|
CREATE TYPE "RsvpMode" AS ENUM ('CHILD', 'FAMILY');
|
|
|
|
-- CreateEnum
|
|
CREATE TYPE "AnnouncementAudience" AS ENUM ('ELTERN', 'ERZIEHER', 'ALLE');
|
|
|
|
-- CreateEnum
|
|
CREATE TYPE "NotdienstAlarmStatus" AS ENUM ('PENDING', 'CONFIRMED', 'DECLINED', 'LATE_CONFIRMATION', 'REVIEW_REQUIRED', 'CANCELLED');
|
|
|
|
-- CreateEnum
|
|
CREATE TYPE "StaffRequestStatus" AS ENUM ('PENDING', 'APPROVED', 'REJECTED', 'CANCEL_REQUESTED', 'CANCELLED');
|
|
|
|
-- CreateEnum
|
|
CREATE TYPE "StaffLeaveKind" AS ENUM ('VACATION', 'TIME_OFF', 'SICKNESS');
|
|
|
|
-- CreateEnum
|
|
CREATE TYPE "StaffWeekStatus" AS ENUM ('DRAFT', 'SUBMITTED', 'APPROVED');
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "users" ADD COLUMN "staffDecisionEmails" BOOLEAN NOT NULL DEFAULT true;
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "announcements" ADD COLUMN "audience" "AnnouncementAudience" NOT NULL DEFAULT 'ALLE';
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "termine" ADD COLUMN "rsvpMode" "RsvpMode" NOT NULL DEFAULT 'CHILD';
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "notdienst_alerts" ADD COLUMN "alarmId" TEXT;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "staff_profiles" (
|
|
"id" TEXT NOT NULL,
|
|
"kitaId" TEXT NOT NULL,
|
|
"educatorId" TEXT NOT NULL,
|
|
"userId" TEXT,
|
|
"employmentStart" DATE NOT NULL,
|
|
"employmentEnd" DATE,
|
|
"trackingStart" DATE NOT NULL,
|
|
"openingMinutes" INTEGER NOT NULL DEFAULT 0,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "staff_profiles_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "staff_emails" (
|
|
"id" TEXT NOT NULL,
|
|
"profileId" TEXT NOT NULL,
|
|
"userId" TEXT NOT NULL,
|
|
"toAdmins" BOOLEAN NOT NULL DEFAULT false,
|
|
"subject" TEXT NOT NULL,
|
|
"message" TEXT NOT NULL,
|
|
"path" TEXT NOT NULL,
|
|
"inviteToken" TEXT,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"sentAt" TIMESTAMP(3),
|
|
"skippedAt" TIMESTAMP(3),
|
|
"leaseUntil" TIMESTAMP(3),
|
|
"attempts" INTEGER NOT NULL DEFAULT 0,
|
|
"failed" BOOLEAN NOT NULL DEFAULT false,
|
|
|
|
CONSTRAINT "staff_emails_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "staff_work_patterns" (
|
|
"id" TEXT NOT NULL,
|
|
"profileId" TEXT NOT NULL,
|
|
"effectiveFrom" DATE NOT NULL,
|
|
"dailyMinutes" INTEGER[],
|
|
|
|
CONSTRAINT "staff_work_patterns_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "staff_day_overrides" (
|
|
"id" TEXT NOT NULL,
|
|
"profileId" TEXT NOT NULL,
|
|
"date" DATE NOT NULL,
|
|
"minutes" INTEGER NOT NULL,
|
|
"reason" TEXT NOT NULL,
|
|
|
|
CONSTRAINT "staff_day_overrides_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "staff_holidays" (
|
|
"id" TEXT NOT NULL,
|
|
"kitaId" TEXT NOT NULL,
|
|
"date" DATE NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
|
|
CONSTRAINT "staff_holidays_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "staff_leave_accounts" (
|
|
"id" TEXT NOT NULL,
|
|
"profileId" TEXT NOT NULL,
|
|
"year" INTEGER NOT NULL,
|
|
"entitlementUnits" INTEGER NOT NULL,
|
|
"carryUnits" INTEGER NOT NULL DEFAULT 0,
|
|
|
|
CONSTRAINT "staff_leave_accounts_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "staff_leaves" (
|
|
"id" TEXT NOT NULL,
|
|
"profileId" TEXT NOT NULL,
|
|
"kind" "StaffLeaveKind" NOT NULL,
|
|
"status" "StaffRequestStatus" NOT NULL DEFAULT 'PENDING',
|
|
"startDate" DATE NOT NULL,
|
|
"endDate" DATE NOT NULL,
|
|
"halfDay" BOOLEAN NOT NULL DEFAULT false,
|
|
"minutes" INTEGER,
|
|
"note" TEXT,
|
|
"decisionNote" TEXT,
|
|
"requestedById" TEXT NOT NULL,
|
|
"reviewedById" TEXT,
|
|
"reviewedAt" TIMESTAMP(3),
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "staff_leaves_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "staff_leave_days" (
|
|
"id" TEXT NOT NULL,
|
|
"leaveId" TEXT NOT NULL,
|
|
"date" DATE NOT NULL,
|
|
"vacationUnits" INTEGER NOT NULL DEFAULT 0,
|
|
"creditMinutes" INTEGER NOT NULL,
|
|
|
|
CONSTRAINT "staff_leave_days_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "staff_time_entries" (
|
|
"id" TEXT NOT NULL,
|
|
"profileId" TEXT NOT NULL,
|
|
"date" DATE NOT NULL,
|
|
"startMinute" INTEGER NOT NULL,
|
|
"endMinute" INTEGER NOT NULL,
|
|
"breakMinutes" INTEGER NOT NULL DEFAULT 0,
|
|
"note" TEXT,
|
|
|
|
CONSTRAINT "staff_time_entries_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "staff_weeks" (
|
|
"id" TEXT NOT NULL,
|
|
"profileId" TEXT NOT NULL,
|
|
"weekStart" DATE NOT NULL,
|
|
"status" "StaffWeekStatus" NOT NULL DEFAULT 'DRAFT',
|
|
"submittedAt" TIMESTAMP(3),
|
|
"reviewedAt" TIMESTAMP(3),
|
|
"reviewedById" TEXT,
|
|
"decisionNote" TEXT,
|
|
"dailySnapshot" JSONB,
|
|
|
|
CONSTRAINT "staff_weeks_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "staff_adjustments" (
|
|
"id" TEXT NOT NULL,
|
|
"profileId" TEXT NOT NULL,
|
|
"date" DATE NOT NULL,
|
|
"minutes" INTEGER NOT NULL,
|
|
"reason" TEXT NOT NULL,
|
|
"actorId" TEXT NOT NULL,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "staff_adjustments_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "staff_history" (
|
|
"id" TEXT NOT NULL,
|
|
"profileId" TEXT NOT NULL,
|
|
"actorId" TEXT NOT NULL,
|
|
"action" TEXT NOT NULL,
|
|
"details" TEXT NOT NULL,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "staff_history_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "staff_notifications" (
|
|
"id" TEXT NOT NULL,
|
|
"userId" TEXT NOT NULL,
|
|
"profileId" TEXT NOT NULL,
|
|
"message" TEXT NOT NULL,
|
|
"readAt" TIMESTAMP(3),
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "staff_notifications_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "family_event_participations" (
|
|
"id" TEXT NOT NULL,
|
|
"kitaId" TEXT NOT NULL,
|
|
"eventId" TEXT NOT NULL,
|
|
"familyId" TEXT NOT NULL,
|
|
"status" "EventParticipationStatus" NOT NULL,
|
|
"adultCount" INTEGER NOT NULL DEFAULT 0,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "family_event_participations_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "notdienst_alarms" (
|
|
"id" TEXT NOT NULL,
|
|
"kitaId" TEXT NOT NULL,
|
|
"assignmentId" TEXT,
|
|
"activeAssignmentId" TEXT,
|
|
"familyId" TEXT NOT NULL,
|
|
"familyName" TEXT NOT NULL,
|
|
"childName" TEXT NOT NULL,
|
|
"date" DATE NOT NULL,
|
|
"wholeDay" BOOLEAN NOT NULL DEFAULT true,
|
|
"startMinute" INTEGER,
|
|
"endMinute" INTEGER,
|
|
"expiresAt" TIMESTAMP(3) NOT NULL,
|
|
"deadline" TIMESTAMP(3) NOT NULL,
|
|
"status" "NotdienstAlarmStatus" NOT NULL DEFAULT 'PENDING',
|
|
"triggeredById" TEXT,
|
|
"triggeredAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"respondedById" TEXT,
|
|
"respondedAt" TIMESTAMP(3),
|
|
"responseSource" TEXT,
|
|
"escalatedAt" TIMESTAMP(3),
|
|
"educatorId" TEXT,
|
|
"notes" TEXT,
|
|
"cancelledAt" TIMESTAMP(3),
|
|
"cancelReason" TEXT,
|
|
|
|
CONSTRAINT "notdienst_alarms_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "notdienst_alarm_recipients" (
|
|
"id" TEXT NOT NULL,
|
|
"alarmId" TEXT NOT NULL,
|
|
"userId" TEXT NOT NULL,
|
|
"token" TEXT NOT NULL,
|
|
"sessionVersion" INTEGER NOT NULL DEFAULT 0,
|
|
|
|
CONSTRAINT "notdienst_alarm_recipients_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "notdienst_alarm_notifications" (
|
|
"id" TEXT NOT NULL,
|
|
"alarmId" TEXT NOT NULL,
|
|
"userId" TEXT NOT NULL,
|
|
"eventKey" TEXT NOT NULL,
|
|
"message" TEXT NOT NULL,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"readAt" TIMESTAMP(3),
|
|
|
|
CONSTRAINT "notdienst_alarm_notifications_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "notdienst_alarm_emails" (
|
|
"id" TEXT NOT NULL,
|
|
"alarmId" TEXT NOT NULL,
|
|
"userId" TEXT NOT NULL,
|
|
"eventKey" TEXT NOT NULL,
|
|
"kind" TEXT NOT NULL,
|
|
"subject" TEXT NOT NULL,
|
|
"message" TEXT NOT NULL,
|
|
"path" TEXT NOT NULL,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"sentAt" TIMESTAMP(3),
|
|
"skippedAt" TIMESTAMP(3),
|
|
"leaseUntil" TIMESTAMP(3),
|
|
"failed" BOOLEAN NOT NULL DEFAULT false,
|
|
"attempts" INTEGER NOT NULL DEFAULT 0,
|
|
|
|
CONSTRAINT "notdienst_alarm_emails_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "notdienst_alarm_history" (
|
|
"id" TEXT NOT NULL,
|
|
"alarmId" TEXT NOT NULL,
|
|
"actorId" TEXT,
|
|
"action" TEXT NOT NULL,
|
|
"details" TEXT NOT NULL,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "notdienst_alarm_history_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "staff_profiles_educatorId_key" ON "staff_profiles"("educatorId");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "staff_profiles_userId_key" ON "staff_profiles"("userId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "staff_profiles_kitaId_idx" ON "staff_profiles"("kitaId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "staff_emails_profileId_sentAt_skippedAt_idx" ON "staff_emails"("profileId", "sentAt", "skippedAt");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "staff_work_patterns_profileId_effectiveFrom_key" ON "staff_work_patterns"("profileId", "effectiveFrom");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "staff_day_overrides_profileId_date_key" ON "staff_day_overrides"("profileId", "date");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "staff_holidays_kitaId_date_key" ON "staff_holidays"("kitaId", "date");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "staff_leave_accounts_profileId_year_key" ON "staff_leave_accounts"("profileId", "year");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "staff_leaves_profileId_status_startDate_idx" ON "staff_leaves"("profileId", "status", "startDate");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "staff_leave_days_leaveId_date_key" ON "staff_leave_days"("leaveId", "date");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "staff_time_entries_profileId_date_idx" ON "staff_time_entries"("profileId", "date");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "staff_weeks_profileId_weekStart_key" ON "staff_weeks"("profileId", "weekStart");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "staff_adjustments_profileId_date_idx" ON "staff_adjustments"("profileId", "date");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "staff_history_profileId_createdAt_idx" ON "staff_history"("profileId", "createdAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "staff_notifications_userId_readAt_createdAt_idx" ON "staff_notifications"("userId", "readAt", "createdAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "family_event_participations_kitaId_idx" ON "family_event_participations"("kitaId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "family_event_participations_familyId_idx" ON "family_event_participations"("familyId");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "family_event_participations_eventId_familyId_key" ON "family_event_participations"("eventId", "familyId");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "notdienst_alarms_activeAssignmentId_key" ON "notdienst_alarms"("activeAssignmentId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "notdienst_alarms_kitaId_date_idx" ON "notdienst_alarms"("kitaId", "date");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "notdienst_alarms_status_deadline_idx" ON "notdienst_alarms"("status", "deadline");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "notdienst_alarm_recipients_token_key" ON "notdienst_alarm_recipients"("token");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "notdienst_alarm_recipients_alarmId_userId_key" ON "notdienst_alarm_recipients"("alarmId", "userId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "notdienst_alarm_notifications_userId_readAt_idx" ON "notdienst_alarm_notifications"("userId", "readAt");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "notdienst_alarm_notifications_alarmId_userId_eventKey_key" ON "notdienst_alarm_notifications"("alarmId", "userId", "eventKey");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "notdienst_alarm_emails_sentAt_skippedAt_createdAt_idx" ON "notdienst_alarm_emails"("sentAt", "skippedAt", "createdAt");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "notdienst_alarm_emails_alarmId_userId_eventKey_key" ON "notdienst_alarm_emails"("alarmId", "userId", "eventKey");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "notdienst_alarm_history_alarmId_createdAt_idx" ON "notdienst_alarm_history"("alarmId", "createdAt");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_profiles" ADD CONSTRAINT "staff_profiles_kitaId_fkey" FOREIGN KEY ("kitaId") REFERENCES "kitas"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_profiles" ADD CONSTRAINT "staff_profiles_educatorId_fkey" FOREIGN KEY ("educatorId") REFERENCES "educators"("id") ON DELETE NO ACTION ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_profiles" ADD CONSTRAINT "staff_profiles_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_emails" ADD CONSTRAINT "staff_emails_profileId_fkey" FOREIGN KEY ("profileId") REFERENCES "staff_profiles"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_emails" ADD CONSTRAINT "staff_emails_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_work_patterns" ADD CONSTRAINT "staff_work_patterns_profileId_fkey" FOREIGN KEY ("profileId") REFERENCES "staff_profiles"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_day_overrides" ADD CONSTRAINT "staff_day_overrides_profileId_fkey" FOREIGN KEY ("profileId") REFERENCES "staff_profiles"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_holidays" ADD CONSTRAINT "staff_holidays_kitaId_fkey" FOREIGN KEY ("kitaId") REFERENCES "kitas"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_leave_accounts" ADD CONSTRAINT "staff_leave_accounts_profileId_fkey" FOREIGN KEY ("profileId") REFERENCES "staff_profiles"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_leaves" ADD CONSTRAINT "staff_leaves_profileId_fkey" FOREIGN KEY ("profileId") REFERENCES "staff_profiles"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_leave_days" ADD CONSTRAINT "staff_leave_days_leaveId_fkey" FOREIGN KEY ("leaveId") REFERENCES "staff_leaves"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_time_entries" ADD CONSTRAINT "staff_time_entries_profileId_fkey" FOREIGN KEY ("profileId") REFERENCES "staff_profiles"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_weeks" ADD CONSTRAINT "staff_weeks_profileId_fkey" FOREIGN KEY ("profileId") REFERENCES "staff_profiles"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_adjustments" ADD CONSTRAINT "staff_adjustments_profileId_fkey" FOREIGN KEY ("profileId") REFERENCES "staff_profiles"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_history" ADD CONSTRAINT "staff_history_profileId_fkey" FOREIGN KEY ("profileId") REFERENCES "staff_profiles"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_notifications" ADD CONSTRAINT "staff_notifications_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "staff_notifications" ADD CONSTRAINT "staff_notifications_profileId_fkey" FOREIGN KEY ("profileId") REFERENCES "staff_profiles"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "family_event_participations" ADD CONSTRAINT "family_event_participations_kitaId_fkey" FOREIGN KEY ("kitaId") REFERENCES "kitas"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "family_event_participations" ADD CONSTRAINT "family_event_participations_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "termine"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "family_event_participations" ADD CONSTRAINT "family_event_participations_familyId_fkey" FOREIGN KEY ("familyId") REFERENCES "families"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "notdienst_alarms" ADD CONSTRAINT "notdienst_alarms_kitaId_fkey" FOREIGN KEY ("kitaId") REFERENCES "kitas"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "notdienst_alarms" ADD CONSTRAINT "notdienst_alarms_assignmentId_fkey" FOREIGN KEY ("assignmentId") REFERENCES "notdienst_assignments"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "notdienst_alarms" ADD CONSTRAINT "notdienst_alarms_familyId_fkey" FOREIGN KEY ("familyId") REFERENCES "families"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "notdienst_alarm_recipients" ADD CONSTRAINT "notdienst_alarm_recipients_alarmId_fkey" FOREIGN KEY ("alarmId") REFERENCES "notdienst_alarms"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "notdienst_alarm_recipients" ADD CONSTRAINT "notdienst_alarm_recipients_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "notdienst_alarm_notifications" ADD CONSTRAINT "notdienst_alarm_notifications_alarmId_fkey" FOREIGN KEY ("alarmId") REFERENCES "notdienst_alarms"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "notdienst_alarm_notifications" ADD CONSTRAINT "notdienst_alarm_notifications_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "notdienst_alarm_emails" ADD CONSTRAINT "notdienst_alarm_emails_alarmId_fkey" FOREIGN KEY ("alarmId") REFERENCES "notdienst_alarms"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "notdienst_alarm_emails" ADD CONSTRAINT "notdienst_alarm_emails_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "notdienst_alarm_history" ADD CONSTRAINT "notdienst_alarm_history_alarmId_fkey" FOREIGN KEY ("alarmId") REFERENCES "notdienst_alarms"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "notdienst_alerts" ADD CONSTRAINT "notdienst_alerts_alarmId_fkey" FOREIGN KEY ("alarmId") REFERENCES "notdienst_alarms"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
|
|
COMMIT;
|