chore(db): add migration for all tables missing from history
Captures DashboardLayout, WidgetInstance, SearchProvider, CalendarSource, DkvModuleConfig, DkvVehicleMaster, DkvInvoiceHistory, SmtpConfig. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,170 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE "DashboardLayout" (
|
||||
"id" TEXT NOT NULL,
|
||||
"userId" TEXT NOT NULL,
|
||||
"tenantId" TEXT NOT NULL,
|
||||
"layouts" JSONB NOT NULL DEFAULT '{}',
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "DashboardLayout_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "WidgetInstance" (
|
||||
"id" TEXT NOT NULL,
|
||||
"userId" TEXT NOT NULL,
|
||||
"tenantId" TEXT NOT NULL,
|
||||
"widgetType" TEXT NOT NULL,
|
||||
"config" JSONB NOT NULL DEFAULT '{}',
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "WidgetInstance_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "SearchProvider" (
|
||||
"id" TEXT NOT NULL,
|
||||
"userId" TEXT,
|
||||
"tenantId" TEXT,
|
||||
"name" TEXT NOT NULL,
|
||||
"urlTemplate" TEXT NOT NULL,
|
||||
"isDefault" BOOLEAN NOT NULL DEFAULT false,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "SearchProvider_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "CalendarSource" (
|
||||
"id" TEXT NOT NULL,
|
||||
"userId" TEXT NOT NULL,
|
||||
"tenantId" TEXT NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"type" TEXT NOT NULL,
|
||||
"exchangeMode" TEXT,
|
||||
"url" TEXT NOT NULL,
|
||||
"username" TEXT,
|
||||
"encryptedPassword" TEXT,
|
||||
"color" TEXT DEFAULT '#3B82F6',
|
||||
"isVisible" BOOLEAN NOT NULL DEFAULT true,
|
||||
"syncIntervalMin" INTEGER NOT NULL DEFAULT 15,
|
||||
"lastSyncAt" TIMESTAMP(3),
|
||||
"lastSyncError" TEXT,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "CalendarSource_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "DkvModuleConfig" (
|
||||
"id" TEXT NOT NULL,
|
||||
"tenantId" TEXT NOT NULL,
|
||||
"protocol" TEXT NOT NULL DEFAULT 'imap',
|
||||
"host" TEXT,
|
||||
"port" INTEGER,
|
||||
"encryption" TEXT NOT NULL DEFAULT 'ssl-tls',
|
||||
"folder" TEXT NOT NULL DEFAULT 'INBOX',
|
||||
"senderFilter" TEXT,
|
||||
"pollIntervalMin" INTEGER NOT NULL DEFAULT 60,
|
||||
"isActive" BOOLEAN NOT NULL DEFAULT false,
|
||||
"exportRecipient" TEXT,
|
||||
"vehicleFormatString" TEXT NOT NULL DEFAULT '{Marke}/{Modell}/{Kennzeichen}',
|
||||
"domain" TEXT,
|
||||
"encryptedInboxCreds" TEXT,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "DkvModuleConfig_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "DkvVehicleMaster" (
|
||||
"id" TEXT NOT NULL,
|
||||
"tenantId" TEXT NOT NULL,
|
||||
"kennzeichen" TEXT NOT NULL,
|
||||
"marke" TEXT NOT NULL,
|
||||
"modell" TEXT NOT NULL,
|
||||
"fahrer" TEXT NOT NULL,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "DkvVehicleMaster_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "DkvInvoiceHistory" (
|
||||
"id" TEXT NOT NULL,
|
||||
"tenantId" TEXT NOT NULL,
|
||||
"datumZeit" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"rechnungsnummer" TEXT NOT NULL,
|
||||
"anzahlFahrzeuge" INTEGER NOT NULL DEFAULT 0,
|
||||
"anzahlTransaktionen" INTEGER NOT NULL DEFAULT 0,
|
||||
"status" TEXT NOT NULL,
|
||||
"errorMessage" TEXT,
|
||||
"exportFilename" TEXT,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "DkvInvoiceHistory_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "SmtpConfig" (
|
||||
"id" TEXT NOT NULL,
|
||||
"tenantId" TEXT NOT NULL,
|
||||
"host" TEXT NOT NULL,
|
||||
"port" INTEGER NOT NULL DEFAULT 587,
|
||||
"encryption" TEXT NOT NULL DEFAULT 'starttls',
|
||||
"username" TEXT,
|
||||
"encryptedPassword" TEXT,
|
||||
"fromAddress" TEXT NOT NULL,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "SmtpConfig_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "DashboardLayout_userId_key" ON "DashboardLayout"("userId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "DashboardLayout_tenantId_idx" ON "DashboardLayout"("tenantId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "WidgetInstance_userId_idx" ON "WidgetInstance"("userId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "WidgetInstance_tenantId_idx" ON "WidgetInstance"("tenantId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "SearchProvider_userId_idx" ON "SearchProvider"("userId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "CalendarSource_userId_idx" ON "CalendarSource"("userId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "CalendarSource_tenantId_idx" ON "CalendarSource"("tenantId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "DkvModuleConfig_tenantId_key" ON "DkvModuleConfig"("tenantId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "DkvModuleConfig_tenantId_idx" ON "DkvModuleConfig"("tenantId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "DkvVehicleMaster_tenantId_idx" ON "DkvVehicleMaster"("tenantId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "DkvVehicleMaster_tenantId_kennzeichen_key" ON "DkvVehicleMaster"("tenantId", "kennzeichen");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "DkvInvoiceHistory_tenantId_idx" ON "DkvInvoiceHistory"("tenantId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "DkvInvoiceHistory_datumZeit_idx" ON "DkvInvoiceHistory"("datumZeit");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "SmtpConfig_tenantId_key" ON "SmtpConfig"("tenantId");
|
||||
|
||||
Reference in New Issue
Block a user