DB Schema
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
FILE_NAME=dump_`date +%Y-%m-%d"_"%H_%M_%S`.sql.br
|
||||
FILE_NAME=data-dump_`date +%Y-%m-%d"_"%H_%M_%S`.sql.br
|
||||
FILE_NAME_COMPLETE=full-dump_`date +%Y-%m-%d"_"%H_%M_%S`.sql.br
|
||||
# Wir exportieren die Datenbank und komprimieren sie.
|
||||
docker exec -t online-energieausweis-database-1 pg_dumpall -c -U main | brotli --best > $FILE_NAME
|
||||
docker exec -t online-energieausweis-database-1 pg_dump --data-only -U main main | brotli --best > $FILE_NAME
|
||||
docker exec -t online-energieausweis-database-1 pg_dumpall -c -U main | brotli --best > $FILE_NAME_COMPLETE
|
||||
|
||||
# Das wird benötigt für AWS Ionos Kompatibilität.
|
||||
export AWS_REQUEST_CHECKSUM_CALCULATION=when_required
|
||||
@@ -12,6 +14,8 @@ export AWS_RESPONSE_CHECKSUM_VALIDATION=when_required
|
||||
# Das Profil kann mit `aws configure --profile ionos` erstellt werden.
|
||||
# Den Key dafür findet man auf https://dcd.ionos.com/latest/?lang=en#/key-management
|
||||
aws s3 cp $FILE_NAME s3://ibc-db-backup/ --profile ionos --endpoint-url https://s3-eu-central-1.ionoscloud.com --storage-class STANDARD
|
||||
aws s3 cp $FILE_NAME_COMPLETE s3://ibc-db-backup/ --profile ionos --endpoint-url https://s3-eu-central-1.ionoscloud.com --storage-class STANDARD
|
||||
|
||||
# Wir entfernen das Backup
|
||||
rm $FILE_NAME
|
||||
rm $FILE_NAME
|
||||
rm $FILE_NAME_COMPLETE
|
||||
@@ -0,0 +1,26 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "BedarfsausweisGewerbe" ALTER COLUMN "updated_at" SET DEFAULT CURRENT_TIMESTAMP;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "BedarfsausweisWohnen" ALTER COLUMN "updated_at" SET DEFAULT CURRENT_TIMESTAMP;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "Bild" ALTER COLUMN "updated_at" SET DEFAULT CURRENT_TIMESTAMP;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "GEGNachweisGewerbe" ALTER COLUMN "updated_at" SET DEFAULT CURRENT_TIMESTAMP;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "GEGNachweisWohnen" ALTER COLUMN "updated_at" SET DEFAULT CURRENT_TIMESTAMP;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "Rechnung" ALTER COLUMN "updated_at" SET DEFAULT CURRENT_TIMESTAMP;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "VerbrauchsausweisGewerbe" ALTER COLUMN "updated_at" SET DEFAULT CURRENT_TIMESTAMP;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "VerbrauchsausweisWohnen" ALTER COLUMN "updated_at" SET DEFAULT CURRENT_TIMESTAMP;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "benutzer" ALTER COLUMN "updated_at" SET DEFAULT CURRENT_TIMESTAMP;
|
||||
@@ -28,7 +28,7 @@ model BedarfsausweisGewerbe {
|
||||
nachweistyp AusweisTyp @default(Standard)
|
||||
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @updatedAt
|
||||
updated_at DateTime @updatedAt @default(now())
|
||||
|
||||
/// @zod.describe("Die ID des Benutzers, welchem dieser Ausweis gehört")
|
||||
benutzer_id String?
|
||||
|
||||
@@ -82,7 +82,7 @@ model BedarfsausweisWohnen {
|
||||
kontrolldatei_angefragt Boolean? @default(false)
|
||||
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @updatedAt
|
||||
updated_at DateTime @updatedAt @default(now())
|
||||
|
||||
pruefpunkt_heizungsalter Boolean? @default(false)
|
||||
pruefpunkt_verbrauch_niedrig Boolean? @default(false)
|
||||
|
||||
@@ -42,7 +42,7 @@ model Benutzer {
|
||||
bedarfsausweise_gewerbe BedarfsausweisGewerbe[]
|
||||
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @updatedAt
|
||||
updated_at DateTime @updatedAt @default(now())
|
||||
|
||||
|
||||
ErstellteTickets Tickets[] @relation("ErstellteTickets")
|
||||
|
||||
@@ -13,7 +13,7 @@ model Bild {
|
||||
name String
|
||||
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @updatedAt
|
||||
updated_at DateTime @updatedAt @default(now())
|
||||
|
||||
aufnahme_id String?
|
||||
aufnahme Aufnahme? @relation(fields: [aufnahme_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
|
||||
@@ -19,7 +19,7 @@ model GEGNachweisGewerbe {
|
||||
nachweistyp AusweisTyp @default(Standard)
|
||||
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @updatedAt
|
||||
updated_at DateTime @updatedAt @default(now())
|
||||
|
||||
/// @zod.describe("Die ID des Benutzers, welchem dieser Ausweis gehört")
|
||||
benutzer_id String?
|
||||
|
||||
@@ -19,7 +19,7 @@ model GEGNachweisWohnen {
|
||||
nachweistyp AusweisTyp @default(Standard)
|
||||
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @updatedAt
|
||||
updated_at DateTime @updatedAt @default(now())
|
||||
|
||||
/// @zod.describe("Die ID des Benutzers, welchem dieser Ausweis gehört")
|
||||
benutzer_id String?
|
||||
|
||||
@@ -57,7 +57,7 @@ model Rechnung {
|
||||
lex_office_id String?
|
||||
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @updatedAt
|
||||
updated_at DateTime @updatedAt @default(now())
|
||||
|
||||
benutzer_id String
|
||||
benutzer Benutzer @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
|
||||
@@ -71,7 +71,7 @@ model VerbrauchsausweisGewerbe {
|
||||
kontrolldatei_angefragt Boolean? @default(false)
|
||||
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @updatedAt
|
||||
updated_at DateTime @updatedAt @default(now())
|
||||
|
||||
ausweistyp AusweisTyp @default(Standard)
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ model VerbrauchsausweisWohnen {
|
||||
ausweistyp AusweisTyp @default(Standard)
|
||||
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @updatedAt
|
||||
updated_at DateTime @updatedAt @default(now())
|
||||
|
||||
pruefpunkt_heizungsalter Boolean? @default(false)
|
||||
pruefpunkt_verbrauch_niedrig Boolean? @default(false)
|
||||
|
||||
@@ -45,7 +45,7 @@ export const AufnahmeSchema = z.object({
|
||||
isolier_verglasung: z.boolean().describe("Falls die Fenster des Gebäudes isolier Verglasung haben, sollte dieser Wert auf true stehen").nullish(),
|
||||
tueren_undicht: z.boolean().describe("Falls die Türen des Gebäudes undicht sind, sollte dieser Wert auf true stehen").nullish(),
|
||||
tueren_dicht: z.boolean().describe("Falls die Türen des Gebäudes dicht sind, sollte dieser Wert auf true stehen").nullish(),
|
||||
dachgeschoss_gedaemmt: z.boolean().describe("Falls das Dachgeschoss des Gebäudes ged<EFBFBD><EFBFBD>mmt ist, sollte dieser Wert auf true stehen").nullish(),
|
||||
dachgeschoss_gedaemmt: z.boolean().describe("Falls das Dachgeschoss des Gebäudes gedämmt ist, sollte dieser Wert auf true stehen").nullish(),
|
||||
keller_decke_gedaemmt: z.boolean().describe("Falls die Kellerdecke des Gebäudes gedämmt ist, sollte dieser Wert auf true stehen").nullish(),
|
||||
keller_wand_gedaemmt: z.boolean().describe("Falls die Kellerwände des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen").nullish(),
|
||||
aussenwand_gedaemmt: z.boolean().describe("Falls die Außenwände des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen").nullish(),
|
||||
|
||||
@@ -139,7 +139,7 @@ Papa.parse(file, {
|
||||
|
||||
const aufnahme_id = generatePrefixedId(
|
||||
6,
|
||||
VALID_UUID_PREFIXES.Objekt
|
||||
VALID_UUID_PREFIXES.Aufnahme
|
||||
);
|
||||
|
||||
const aufnahme = await prisma.aufnahme.create({
|
||||
|
||||
Reference in New Issue
Block a user