syncova-policies/prisma/migrations/20260907134603_add_provision_fields_optional_purpose/migration.sql
Weapie 328f042307 Syncova Policies: Portal für DSGVO-Datenschutzerklärungen
Next.js 15 App Router mit öffentlicher Übersicht und geschütztem
Admin-Bereich zur Pflege von Datenschutzerklärungen nach Art. 12ff. DSGVO.

- Oberfläche auf Basis von shadcn/ui, Inter lokal eingebunden
- Prisma/SQLite, Auth.js mit Credentials-Provider und Rollen
- Massenimport der Merkblätter des Amtes Leezen aus PDF
- Docker-Image (standalone) und Gitea-Workflow zur Veröffentlichung

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-07 16:23:51 +02:00

29 lines
1.4 KiB
SQL

-- RedefineTables
PRAGMA defer_foreign_keys=ON;
PRAGMA foreign_keys=OFF;
CREATE TABLE "new_PrivacyPolicy" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"title" TEXT NOT NULL,
"responsible" TEXT NOT NULL,
"contactDPO" TEXT NOT NULL,
"dataSubjectsRights" TEXT NOT NULL,
"complaintRight" TEXT NOT NULL,
"withdrawalRight" TEXT NOT NULL,
"processingDescription" TEXT NOT NULL,
"processingPurposes" TEXT,
"legalBasis" TEXT,
"recipients" TEXT NOT NULL,
"storageDuration" TEXT,
"dataSource" TEXT,
"provisionObligation" TEXT,
"provisionConsequences" TEXT,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" DATETIME NOT NULL,
"isPublic" BOOLEAN NOT NULL DEFAULT true
);
INSERT INTO "new_PrivacyPolicy" ("complaintRight", "contactDPO", "createdAt", "dataSource", "dataSubjectsRights", "id", "isPublic", "legalBasis", "processingDescription", "processingPurposes", "recipients", "responsible", "storageDuration", "title", "updatedAt", "withdrawalRight") SELECT "complaintRight", "contactDPO", "createdAt", "dataSource", "dataSubjectsRights", "id", "isPublic", "legalBasis", "processingDescription", "processingPurposes", "recipients", "responsible", "storageDuration", "title", "updatedAt", "withdrawalRight" FROM "PrivacyPolicy";
DROP TABLE "PrivacyPolicy";
ALTER TABLE "new_PrivacyPolicy" RENAME TO "PrivacyPolicy";
PRAGMA foreign_keys=ON;
PRAGMA defer_foreign_keys=OFF;