StrategieLukas / stadt-land-klima

3 stars 1 forks source link

Export Production DB (für lokalesDevelopment) #160

Open StrategieLukas opened 7 months ago

StrategieLukas commented 7 months ago

Die Production-DB soll mit einem Skript exportiert werden können, damit lokal direkt damit gearbeitet werden kann. Dieses existiert bereits, allerdings würde das aktuell auch die Nutzerdaten exportieren, weshalb wir es aus Datenschutzgründen nicht nutzen können.

Das Skript soll angepasst werden, so dass der Table mit den Nutzerdaten gelöscht wird (oder alternativ alle Namen/Emails durch zufällige Werte ersetzt).

jankohlbach commented 7 months ago

hab paar Ideen ausprobiert, aber komm nicht ganz ans Ziel

  1. mit --exclude-table-data=directus_users --exclude-table-data=editors die userdaten gar nicht erst exportieren, nur dann ist halt gar kein user mehr da, sprich ich kann mich auch lokal nicht einloggen und selbst wenn ich es hingekriegt hätte einen neuen admin user anzulegen, sind ja die ganzen Referenzen weg
  2. mit docker compose -f docker-compose.yaml -f docker-compose.prod.yaml exec -T db pg_dump --clean -p $DB_PORT -U $DB_USER -d $DB_DATABASE $1 | sed -e "/\"first_name\":\"Admin\"/!s/\"first_name\":\"[^\"]*\"/\"first_name\":\"$random_first_name\"/g" \ -e "/\"last_name\":\"User\"/!s/\"last_name\":\"[^\"]*\"/\"last_name\":\"$random_last_name\"/g" \ -e "/\"email\":\"admin@example.com\"/!s/\"email\":\"[^\"]*\"/\"email\":\"$random_email\"/g" \ die Daten nach dem dump ersetzen, Problem dabei ist ich erwische nicht alle / nicht die Richtigen, z.B. fe3d637c-0805-451d-86b3-7e5b17c45443 Frontend \N frontend@example.com \N \N \ 0cdb6564-8540-4331-a2c3-fe1de62ce9e5 \N \N email@redacted.com \N \N \N \N \N \N bekomm ich nicht ersetzt

vielleicht hat aber jemand ne andere Idee / Hilfe oder bringt die Ansätze auf ne Idee

jankohlbach commented 7 months ago

beste wär wahrscheinlich wenn man Variante 1 nimmt, die Daten gar nicht erst mitexportiert und dann jemand aushilft wieder nen Admin-User lokal anzulegen und zu schauen ob das reicht und funktioniert

StrategieLukas commented 6 months ago

@TheodorMariusWienert hast du ne Idee zu dem Adminuser?