-- Stornorechnungen: Gegenbeleg mit eigenem Nummernkreis (ST-JJJJ-NNNN) statt -- Loeschen oder Aendern einer Rechnung. Rein additiv. -- CreateTable CREATE TABLE "cancellation_counters" ( "year" INTEGER NOT NULL, "lastNumber" INTEGER NOT NULL DEFAULT 0, CONSTRAINT "cancellation_counters_pkey" PRIMARY KEY ("year") ); -- CreateTable CREATE TABLE "cancellation_invoices" ( "id" TEXT NOT NULL, "invoiceId" TEXT NOT NULL, "number" TEXT NOT NULL, "issuedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "totalCents" INTEGER NOT NULL, "reason" TEXT NOT NULL, "pdfPath" TEXT, CONSTRAINT "cancellation_invoices_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE UNIQUE INDEX "cancellation_invoices_invoiceId_key" ON "cancellation_invoices"("invoiceId"); -- CreateIndex CREATE UNIQUE INDEX "cancellation_invoices_number_key" ON "cancellation_invoices"("number"); -- CreateIndex CREATE INDEX "cancellation_invoices_issuedAt_idx" ON "cancellation_invoices"("issuedAt"); -- AddForeignKey ALTER TABLE "cancellation_invoices" ADD CONSTRAINT "cancellation_invoices_invoiceId_fkey" FOREIGN KEY ("invoiceId") REFERENCES "invoices"("id") ON DELETE CASCADE ON UPDATE CASCADE;