refactor Ulid und Dataloader

This commit is contained in:
2026-06-06 11:59:20 +02:00
parent 581c8bee88
commit b5182b7f19
54 changed files with 364 additions and 301 deletions

View File

@@ -1 +1,3 @@
DROP DOMAIN ULID CASCADE;
DROP DOMAIN ulid CASCADE;
DROP EXTENSION IF EXISTS ltree;
DROP EXTENSION IF EXISTS "uuid-ossp";

View File

@@ -1 +1,3 @@
CREATE DOMAIN ULID AS CHAR(26);
CREATE DOMAIN ulid AS CHAR(26);
CREATE EXTENSION IF NOT EXISTS ltree;
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

View File

@@ -1,6 +1,6 @@
CREATE TABLE IF NOT EXISTS hersteller (
hersteller_id UUID PRIMARY KEY,
id CHAR(26) UNIQUE NOT NULL,
id ULID UNIQUE NOT NULL,
herstellername VARCHAR NOT NULL,
erstellt_am TIMESTAMP WITH TIME ZONE NOT NULL,
geaendert_am TIMESTAMP WITH TIME ZONE NOT NULL

View File

@@ -1,5 +1,6 @@
CREATE TABLE IF NOT EXISTS gruppen (
id UUID PRIMARY KEY,
gruppe_id UUID PRIMARY KEY,
id ULID UNIQUE NOT NULL,
gruppenname VARCHAR NOT NULL,
erstellt_am TIMESTAMP WITH TIME ZONE NOT NULL,
geaendert_am TIMESTAMP WITH TIME ZONE NOT NULL

View File

@@ -1,5 +1,6 @@
CREATE TABLE IF NOT EXISTS rollen (
id UUID PRIMARY KEY,
rolle_id UUID PRIMARY KEY,
id ULID UNIQUE NOT NULL,
rollenname VARCHAR NOT NULL,
erstellt_am TIMESTAMP WITH TIME ZONE NOT NULL,
geaendert_am TIMESTAMP WITH TIME ZONE NOT NULL

View File

@@ -5,12 +5,12 @@ CREATE TABLE IF NOT EXISTS rollen_gruppen (
CONSTRAINT pk_rollen_gruppen PRIMARY KEY (rolle_id, gruppe_id),
CONSTRAINT fk_rollen_gruppen_gruppe FOREIGN KEY (gruppe_id)
REFERENCES gruppen (id) MATCH SIMPLE
REFERENCES gruppen (gruppe_id) MATCH SIMPLE
ON UPDATE CASCADE
ON DELETE CASCADE,
CONSTRAINT fk_rollen_gruppen_rolle FOREIGN KEY (rolle_id)
REFERENCES rollen (id) MATCH SIMPLE
REFERENCES rollen (rolle_id) MATCH SIMPLE
ON UPDATE CASCADE
ON DELETE CASCADE
)

View File

@@ -1,5 +1,6 @@
CREATE TABLE IF NOT EXISTS benutzer (
id UUID PRIMARY KEY,
benutzer_id UUID PRIMARY KEY,
id ULID UNIQUE NOT NULL,
kennung VARCHAR NOT NULL,
nachname VARCHAR NOT NULL,
vorname VARCHAR NOT NULL,

View File

@@ -5,12 +5,12 @@ CREATE TABLE IF NOT EXISTS benutzer_gruppen (
CONSTRAINT pk_benutzer_gruppen PRIMARY KEY (benutzer_id, gruppe_id),
CONSTRAINT fk_benutzer_gruppen_benutzer FOREIGN KEY (benutzer_id)
REFERENCES benutzer (id) MATCH SIMPLE
REFERENCES benutzer (benutzer_id) MATCH SIMPLE
ON UPDATE CASCADE
ON DELETE CASCADE,
CONSTRAINT fk_benutzer_gruppen_gruppe FOREIGN KEY (gruppe_id)
REFERENCES gruppen (id) MATCH SIMPLE
REFERENCES gruppen (gruppe_id) MATCH SIMPLE
ON UPDATE CASCADE
ON DELETE CASCADE
)

View File

@@ -5,12 +5,12 @@ CREATE TABLE IF NOT EXISTS benutzer_rollen (
CONSTRAINT pk_benutzer_rollen PRIMARY KEY (benutzer_id, rolle_id),
CONSTRAINT fk_benutzer_rollen_benutzer FOREIGN KEY (benutzer_id)
REFERENCES benutzer (id) MATCH SIMPLE
REFERENCES benutzer (benutzer_id) MATCH SIMPLE
ON UPDATE CASCADE
ON DELETE CASCADE,
CONSTRAINT fk_benutzer_rollen_rolle FOREIGN KEY (rolle_id)
REFERENCES rollen (id) MATCH SIMPLE
REFERENCES rollen (rolle_id) MATCH SIMPLE
ON UPDATE CASCADE
ON DELETE CASCADE
)

View File

@@ -0,0 +1 @@
DROP TABLE struktur;

View File

@@ -0,0 +1,8 @@
CREATE TABLE IF NOT EXISTS strukturen (
id UUID PRIMARY KEY,
parent_id UUID REFERENCES strukturen (id),
dienststelle VARCHAR NOT NULL,
dienststelle_abk VARCHAR NOT NULL,
slug TEXT NOT NULL,
pfad LTREE
);