Datenbank und ID Generierung

This commit is contained in:
Moritz Utcke
2025-04-07 15:33:30 -04:00
parent 32d8e2383e
commit 2abb143cfe
66 changed files with 906 additions and 6309 deletions

View File

@@ -1,2 +0,0 @@
-- AlterTable
ALTER TABLE "VerbrauchsausweisGewerbe" ALTER COLUMN "stromverbrauch_enthaelt_sonstige" SET DATA TYPE VARCHAR(255);

View File

@@ -1,2 +0,0 @@
-- AlterTable
ALTER TABLE "Rechnung" ADD COLUMN "lex_office_id" TEXT;

View File

@@ -1,2 +0,0 @@
-- DropIndex
DROP INDEX "Rechnung_transaktions_referenz_key";

View File

@@ -39,7 +39,7 @@ CREATE TYPE "Service" AS ENUM ('Telefonberatung', 'Aushang', 'Qualitaetsdruck',
-- CreateTable
CREATE TABLE "Anteilshaber" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"rolle" VARCHAR,
"privilegien" BIGINT,
"benutzer_id" TEXT NOT NULL,
@@ -50,7 +50,7 @@ CREATE TABLE "Anteilshaber" (
-- CreateTable
CREATE TABLE "ApiRequests" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"date" TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"ip" VARCHAR(50) NOT NULL,
"method" VARCHAR(10) NOT NULL,
@@ -66,7 +66,7 @@ CREATE TABLE "ApiRequests" (
-- CreateTable
CREATE TABLE "Aufnahme" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"benutzer_id" TEXT,
"gebaeudetyp" VARCHAR,
"gebaeudeteil" VARCHAR,
@@ -124,7 +124,7 @@ CREATE TABLE "Aufnahme" (
-- CreateTable
CREATE TABLE "BedarfsausweisGewerbe" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"ausstellgrund" "Ausstellgrund",
"keller_beheizt" BOOLEAN,
"storniert" BOOLEAN DEFAULT false,
@@ -154,7 +154,8 @@ CREATE TABLE "BedarfsausweisGewerbe" (
-- CreateTable
CREATE TABLE "BedarfsausweisWohnen" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"alte_ausweis_id" INTEGER,
"benutzer_id" TEXT,
"ausstellgrund" "Ausstellgrund",
"registriernummer" VARCHAR,
@@ -245,7 +246,8 @@ CREATE TABLE "BedarfsausweisWohnen" (
-- CreateTable
CREATE TABLE "benutzer" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"alte_id" INTEGER,
"name" VARCHAR(100),
"vorname" VARCHAR(50),
"email" VARCHAR(255) NOT NULL,
@@ -266,7 +268,7 @@ CREATE TABLE "benutzer" (
-- CreateTable
CREATE TABLE "Bild" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"kategorie" "BilderKategorie" NOT NULL,
"name" TEXT NOT NULL,
"aufnahme_id" TEXT,
@@ -276,7 +278,7 @@ CREATE TABLE "Bild" (
-- CreateTable
CREATE TABLE "Event" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"date" TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"title" VARCHAR(255) NOT NULL,
"description" TEXT,
@@ -288,7 +290,7 @@ CREATE TABLE "Event" (
-- CreateTable
CREATE TABLE "GEGEinpreisung" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"empfaenger" VARCHAR,
"strasse" VARCHAR,
"plz" VARCHAR,
@@ -310,7 +312,7 @@ CREATE TABLE "GEGEinpreisung" (
-- CreateTable
CREATE TABLE "GEGNachweisGewerbe" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"ausstellgrund" "Ausstellgrund",
"keller_beheizt" BOOLEAN,
"storniert" BOOLEAN DEFAULT false,
@@ -330,7 +332,7 @@ CREATE TABLE "GEGNachweisGewerbe" (
-- CreateTable
CREATE TABLE "GEGNachweisWohnen" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"ausstellgrund" "Ausstellgrund",
"keller_beheizt" BOOLEAN,
"storniert" BOOLEAN DEFAULT false,
@@ -361,7 +363,7 @@ CREATE TABLE "Klimafaktoren" (
-- CreateTable
CREATE TABLE "Objekt" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"latitude" DOUBLE PRECISION,
"longitude" DOUBLE PRECISION,
"plz" VARCHAR(5),
@@ -388,7 +390,8 @@ CREATE TABLE "Postleitzahlen" (
-- CreateTable
CREATE TABLE "Rechnung" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"alte_id" INTEGER,
"empfaenger" VARCHAR,
"strasse" VARCHAR,
"plz" VARCHAR,
@@ -411,6 +414,7 @@ CREATE TABLE "Rechnung" (
"storniert_am" TIMESTAMP(3),
"transaktions_referenz" VARCHAR,
"partner_code" TEXT,
"lex_office_id" TEXT,
"benutzer_id" TEXT NOT NULL,
CONSTRAINT "Rechnung_pkey" PRIMARY KEY ("id")
@@ -429,7 +433,7 @@ CREATE TABLE "RefreshTokens" (
-- CreateTable
CREATE TABLE "Tickets" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMP(3),
"deleted_at" TIMESTAMP(3),
@@ -447,7 +451,7 @@ CREATE TABLE "Tickets" (
-- CreateTable
CREATE TABLE "Unterlage" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"name" TEXT,
"kategorie" TEXT,
"mime" TEXT NOT NULL,
@@ -458,7 +462,8 @@ CREATE TABLE "Unterlage" (
-- CreateTable
CREATE TABLE "VerbrauchsausweisGewerbe" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"alte_ausweis_id" INTEGER,
"ausstellgrund" "Ausstellgrund",
"registriernummer" VARCHAR,
"zusaetzliche_heizquelle" BOOLEAN,
@@ -484,7 +489,7 @@ CREATE TABLE "VerbrauchsausweisGewerbe" (
"stromverbrauch_enthaelt_lueftung" BOOLEAN,
"stromverbrauch_enthaelt_beleuchtung" BOOLEAN,
"stromverbrauch_enthaelt_kuehlung" BOOLEAN,
"stromverbrauch_enthaelt_sonstige" VARCHAR(50),
"stromverbrauch_enthaelt_sonstige" VARCHAR(255),
"kuehlung_enthalten" BOOLEAN,
"anteil_kuehlung_1" DOUBLE PRECISION,
"anteil_kuehlung_2" DOUBLE PRECISION,
@@ -530,7 +535,8 @@ CREATE TABLE "VerbrauchsausweisGewerbe" (
-- CreateTable
CREATE TABLE "VerbrauchsausweisWohnen" (
"id" VARCHAR(10) NOT NULL,
"id" VARCHAR(11) NOT NULL,
"alte_ausweis_id" INTEGER,
"ausstellgrund" "Ausstellgrund",
"registriernummer" VARCHAR,
"zusaetzliche_heizquelle" BOOLEAN,
@@ -705,9 +711,6 @@ CREATE UNIQUE INDEX "Objekt_id_key" ON "Objekt"("id");
-- CreateIndex
CREATE UNIQUE INDEX "Rechnung_id_key" ON "Rechnung"("id");
-- CreateIndex
CREATE UNIQUE INDEX "Rechnung_transaktions_referenz_key" ON "Rechnung"("transaktions_referenz");
-- CreateIndex
CREATE UNIQUE INDEX "RefreshTokens_token_key" ON "RefreshTokens"("token");

View File

@@ -0,0 +1,14 @@
/*
Warnings:
- Added the required column `updated_at` to the `Rechnung` table without a default value. This is not possible if the table is not empty.
- Added the required column `updated_at` to the `benutzer` table without a default value. This is not possible if the table is not empty.
*/
-- AlterTable
ALTER TABLE "Rechnung" ADD COLUMN "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
ADD COLUMN "updated_at" TIMESTAMP(3) NOT NULL;
-- AlterTable
ALTER TABLE "benutzer" ADD COLUMN "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
ADD COLUMN "updated_at" TIMESTAMP(3) NOT NULL;

View File

@@ -0,0 +1,9 @@
/*
Warnings:
- Added the required column `updated_at` to the `Bild` table without a default value. This is not possible if the table is not empty.
*/
-- AlterTable
ALTER TABLE "Bild" ADD COLUMN "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
ADD COLUMN "updated_at" TIMESTAMP(3) NOT NULL;

View File

@@ -1,5 +1,5 @@
model Anteilshaber {
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
rolle String? @db.VarChar
privilegien BigInt?

View File

@@ -1,6 +1,6 @@
model ApiRequests {
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
date DateTime @default(now()) @db.Timestamp(6)
ip String @db.VarChar(50)
method String @db.VarChar(10)

View File

@@ -13,7 +13,7 @@ enum Lueftungskonzept {
}
model Aufnahme {
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
benutzer_id String?
benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
/// @zod.describe("Art des Gebäudes und seiner primären Nutzungsart")

View File

@@ -1,5 +1,5 @@
model BedarfsausweisGewerbe {
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
/// @zod.describe("Ausstellgrund wie z.B. Vermietung oder Verkauf")
ausstellgrund Ausstellgrund?

View File

@@ -1,6 +1,7 @@
model BedarfsausweisWohnen {
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
alte_ausweis_id Int?
benutzer_id String?
ausstellgrund Ausstellgrund?
registriernummer String? @db.VarChar

View File

@@ -5,7 +5,8 @@ enum BenutzerRolle {
}
model Benutzer {
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
alte_id Int?
name String? @db.VarChar(100)
vorname String? @db.VarChar(50)
email String @unique(map: "benutzer_email_idx") @db.VarChar(255)
@@ -40,6 +41,8 @@ model Benutzer {
geg_nachweise_wohnen GEGNachweisWohnen[]
bedarfsausweise_gewerbe BedarfsausweisGewerbe[]
created_at DateTime @default(now())
updated_at DateTime @updatedAt
ErstellteTickets Tickets[] @relation("ErstellteTickets")

View File

@@ -8,9 +8,12 @@ enum BilderKategorie {
}
model Bild {
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
kategorie BilderKategorie
name String
created_at DateTime @default(now())
updated_at DateTime @updatedAt
aufnahme_id String?
aufnahme Aufnahme? @relation(fields: [aufnahme_id], references: [id], onDelete: NoAction, onUpdate: NoAction)

View File

@@ -3,7 +3,7 @@
// Hier werden beispielsweise Events wie "Nachricht Verschickt" gespeichert.
// Diese Events werden dann in der Admin-Oberfläche angezeigt.
model Event {
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
date DateTime @default(now()) @db.Timestamp(6)
title String @db.VarChar(255)

View File

@@ -6,7 +6,7 @@ enum Einpreisungsstatus {
}
model GEGEinpreisung {
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
empfaenger String? @db.VarChar
strasse String? @db.VarChar

View File

@@ -1,5 +1,5 @@
model GEGNachweisGewerbe {
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
/// @zod.describe("Ausstellgrund wie z.B. Vermietung oder Verkauf")
ausstellgrund Ausstellgrund?

View File

@@ -1,5 +1,5 @@
model GEGNachweisWohnen {
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
/// @zod.describe("Ausstellgrund wie z.B. Vermietung oder Verkauf")
ausstellgrund Ausstellgrund?

View File

@@ -1,5 +1,5 @@
model Objekt {
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
latitude Float?
longitude Float?

View File

@@ -27,7 +27,8 @@ enum AusweisTyp {
}
model Rechnung {
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
alte_id Int?
empfaenger String? @db.VarChar
strasse String? @db.VarChar
@@ -55,6 +56,9 @@ model Rechnung {
partner_code String?
lex_office_id String?
created_at DateTime @default(now())
updated_at DateTime @updatedAt
benutzer_id String
benutzer Benutzer @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)

View File

@@ -8,7 +8,7 @@ enum TicketStatus {
}
model Tickets {
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
created_at DateTime @default(now())
updated_at DateTime? @updatedAt
deleted_at DateTime?

View File

@@ -5,7 +5,7 @@ enum UnterlagenKategorie {
}
model Unterlage {
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
name String?
kategorie String?
mime String

View File

@@ -1,6 +1,7 @@
model VerbrauchsausweisGewerbe {
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
alte_ausweis_id Int?
ausstellgrund Ausstellgrund?
registriernummer String? @db.VarChar
zusaetzliche_heizquelle Boolean?

View File

@@ -1,7 +1,8 @@
model VerbrauchsausweisWohnen {
/// @zod.describe("ID des Ausweises")
id String @id @unique @db.VarChar(10)
id String @id @unique @db.VarChar(11)
alte_ausweis_id Int?
/// @zod.describe("Ausstellgrund wie z.B. Vermietung oder Verkauf")
ausstellgrund Ausstellgrund?
/// @zod.describe("Die Registriernummer des Ausweises")