-- Erscheinungsbild: Name, Logo, Favicon und Akzentfarbe der Installation. -- Wozu eine hochgeladene Datei gehört. Bestehende Dateien hängen alle an -- einem Code, deshalb ist die Voreinstellung richtig. ALTER TABLE "Upload" ADD COLUMN "purpose" TEXT NOT NULL DEFAULT 'code'; CREATE INDEX "Upload_purpose_idx" ON "Upload"("purpose"); CREATE TABLE "Branding" ( "id" TEXT NOT NULL DEFAULT 'branding', "appName" TEXT NOT NULL DEFAULT 'QR-Code-Generator', "footerText" TEXT NOT NULL DEFAULT 'statische und dynamische QR-Codes', "accentColor" TEXT NOT NULL DEFAULT '#4F46E5', "logoUploadId" TEXT, "faviconUploadId" TEXT, "updatedAt" TIMESTAMP(3) NOT NULL, CONSTRAINT "Branding_pkey" PRIMARY KEY ("id") ); CREATE UNIQUE INDEX "Branding_logoUploadId_key" ON "Branding"("logoUploadId"); CREATE UNIQUE INDEX "Branding_faviconUploadId_key" ON "Branding"("faviconUploadId"); ALTER TABLE "Branding" ADD CONSTRAINT "Branding_logoUploadId_fkey" FOREIGN KEY ("logoUploadId") REFERENCES "Upload"("id") ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE "Branding" ADD CONSTRAINT "Branding_faviconUploadId_fkey" FOREIGN KEY ("faviconUploadId") REFERENCES "Upload"("id") ON DELETE SET NULL ON UPDATE CASCADE; -- Die eine Zeile gleich anlegen, damit die Anwendung sie nur noch lesen muss. INSERT INTO "Branding" ("id", "updatedAt") VALUES ('branding', CURRENT_TIMESTAMP);