DB Schema
This commit is contained in:
@@ -1,8 +1,10 @@
|
|||||||
#!/bin/bash
|
#!/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.
|
# 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.
|
# Das wird benötigt für AWS Ionos Kompatibilität.
|
||||||
export AWS_REQUEST_CHECKSUM_CALCULATION=when_required
|
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.
|
# 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
|
# 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 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
|
# 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)
|
nachweistyp AusweisTyp @default(Standard)
|
||||||
|
|
||||||
created_at DateTime @default(now())
|
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")
|
/// @zod.describe("Die ID des Benutzers, welchem dieser Ausweis gehört")
|
||||||
benutzer_id String?
|
benutzer_id String?
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ model BedarfsausweisWohnen {
|
|||||||
kontrolldatei_angefragt Boolean? @default(false)
|
kontrolldatei_angefragt Boolean? @default(false)
|
||||||
|
|
||||||
created_at DateTime @default(now())
|
created_at DateTime @default(now())
|
||||||
updated_at DateTime @updatedAt
|
updated_at DateTime @updatedAt @default(now())
|
||||||
|
|
||||||
pruefpunkt_heizungsalter Boolean? @default(false)
|
pruefpunkt_heizungsalter Boolean? @default(false)
|
||||||
pruefpunkt_verbrauch_niedrig Boolean? @default(false)
|
pruefpunkt_verbrauch_niedrig Boolean? @default(false)
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ model Benutzer {
|
|||||||
bedarfsausweise_gewerbe BedarfsausweisGewerbe[]
|
bedarfsausweise_gewerbe BedarfsausweisGewerbe[]
|
||||||
|
|
||||||
created_at DateTime @default(now())
|
created_at DateTime @default(now())
|
||||||
updated_at DateTime @updatedAt
|
updated_at DateTime @updatedAt @default(now())
|
||||||
|
|
||||||
|
|
||||||
ErstellteTickets Tickets[] @relation("ErstellteTickets")
|
ErstellteTickets Tickets[] @relation("ErstellteTickets")
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ model Bild {
|
|||||||
name String
|
name String
|
||||||
|
|
||||||
created_at DateTime @default(now())
|
created_at DateTime @default(now())
|
||||||
updated_at DateTime @updatedAt
|
updated_at DateTime @updatedAt @default(now())
|
||||||
|
|
||||||
aufnahme_id String?
|
aufnahme_id String?
|
||||||
aufnahme Aufnahme? @relation(fields: [aufnahme_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
aufnahme Aufnahme? @relation(fields: [aufnahme_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ model GEGNachweisGewerbe {
|
|||||||
nachweistyp AusweisTyp @default(Standard)
|
nachweistyp AusweisTyp @default(Standard)
|
||||||
|
|
||||||
created_at DateTime @default(now())
|
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")
|
/// @zod.describe("Die ID des Benutzers, welchem dieser Ausweis gehört")
|
||||||
benutzer_id String?
|
benutzer_id String?
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ model GEGNachweisWohnen {
|
|||||||
nachweistyp AusweisTyp @default(Standard)
|
nachweistyp AusweisTyp @default(Standard)
|
||||||
|
|
||||||
created_at DateTime @default(now())
|
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")
|
/// @zod.describe("Die ID des Benutzers, welchem dieser Ausweis gehört")
|
||||||
benutzer_id String?
|
benutzer_id String?
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ model Rechnung {
|
|||||||
lex_office_id String?
|
lex_office_id String?
|
||||||
|
|
||||||
created_at DateTime @default(now())
|
created_at DateTime @default(now())
|
||||||
updated_at DateTime @updatedAt
|
updated_at DateTime @updatedAt @default(now())
|
||||||
|
|
||||||
benutzer_id String
|
benutzer_id String
|
||||||
benutzer Benutzer @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
benutzer Benutzer @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ model VerbrauchsausweisGewerbe {
|
|||||||
kontrolldatei_angefragt Boolean? @default(false)
|
kontrolldatei_angefragt Boolean? @default(false)
|
||||||
|
|
||||||
created_at DateTime @default(now())
|
created_at DateTime @default(now())
|
||||||
updated_at DateTime @updatedAt
|
updated_at DateTime @updatedAt @default(now())
|
||||||
|
|
||||||
ausweistyp AusweisTyp @default(Standard)
|
ausweistyp AusweisTyp @default(Standard)
|
||||||
|
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ model VerbrauchsausweisWohnen {
|
|||||||
ausweistyp AusweisTyp @default(Standard)
|
ausweistyp AusweisTyp @default(Standard)
|
||||||
|
|
||||||
created_at DateTime @default(now())
|
created_at DateTime @default(now())
|
||||||
updated_at DateTime @updatedAt
|
updated_at DateTime @updatedAt @default(now())
|
||||||
|
|
||||||
pruefpunkt_heizungsalter Boolean? @default(false)
|
pruefpunkt_heizungsalter Boolean? @default(false)
|
||||||
pruefpunkt_verbrauch_niedrig 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(),
|
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_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(),
|
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_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(),
|
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(),
|
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(
|
const aufnahme_id = generatePrefixedId(
|
||||||
6,
|
6,
|
||||||
VALID_UUID_PREFIXES.Objekt
|
VALID_UUID_PREFIXES.Aufnahme
|
||||||
);
|
);
|
||||||
|
|
||||||
const aufnahme = await prisma.aufnahme.create({
|
const aufnahme = await prisma.aufnahme.create({
|
||||||
|
|||||||
Reference in New Issue
Block a user