Files
qrcode-generator/prisma/migrations/20260813135228_init/migration.sql
T
Florian Wilde ad4cd92f8e V1: Next.js-App mit QR-Typ-Registry, Website-Generator und dynamischen Codes
- Erweiterbare Registry aller 15 QR-Typen; nur "Website" ist aktiv, die
  uebrigen erscheinen als Platzhalter mit Badge "Bald verfuegbar".
- defineQrType() kapselt Zod-Schema, Kodierung und Redirect-Ziel je Typ,
  sodass ein V2-Typ nur aus einem Registry-Eintrag plus Formular besteht.
- Serverseitige QR-Erzeugung (PNG/SVG) mit Farben, Groesse, Fehlerkorrektur
  und Rand; Live-Vorschau ueber /api/qr/preview.
- Dynamische Codes: Kurz-URL {BASE_URL}/r/{slug}, 302-Redirect mit
  Scan-Zaehler, CRUD unter /api/codes.
- Prisma 7 mit pg-Driver-Adapter und Initial-Migration fuer PostgreSQL.
- Deutsche Oberflaeche mit Tailwind CSS, helles Theme, responsiv.
2026-08-13 15:54:47 +02:00

26 lines
757 B
SQL

-- CreateTable
CREATE TABLE "QrCode" (
"id" TEXT NOT NULL,
"slug" TEXT NOT NULL,
"type" TEXT NOT NULL,
"label" TEXT,
"data" JSONB NOT NULL,
"fgColor" TEXT NOT NULL DEFAULT '#000000',
"bgColor" TEXT NOT NULL DEFAULT '#FFFFFF',
"size" INTEGER NOT NULL DEFAULT 512,
"ecLevel" TEXT NOT NULL DEFAULT 'M',
"margin" INTEGER NOT NULL DEFAULT 4,
"scans" INTEGER NOT NULL DEFAULT 0,
"lastScanAt" TIMESTAMP(3),
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
CONSTRAINT "QrCode_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "QrCode_slug_key" ON "QrCode"("slug");
-- CreateIndex
CREATE INDEX "QrCode_createdAt_idx" ON "QrCode"("createdAt");