-
Notifications
You must be signed in to change notification settings - Fork 13
Hinweise zum Datentransfer in externe Anwendungen
Grundlage für den einmaligen Transfer der Datenbank in eine externe Anwendung bildet ein SQL-Dump.
# mysqldump -u #{db_user} -p#{db_password} #{db_name} > #{dump_file}
mysqldump -u wp -p ... wingolfsplattform_production > wingolfsplattform_production-2019-03-31_14-45-59.sql
Die SQL-Datenbank und somit die exportierte SQL-Datei enthalten alle verwaltungsrelevanten Daten. Dennoch sind einige Hinweise zur Verarbeitung zu beachten:
Das Datenbank-Schema ist hier einzusehen: https://github.com/fiedl/wingolfsplattform/blob/master/db/schema.rb.
Abgeleitete Daten und die Verwendung der Datenbank-Felder ergeben sich aus den Model-Definitionen https://github.com/fiedl/wingolfsplattform/tree/master/app/models und https://github.com/fiedl/your_platform/tree/master/app/models.
Aktivitätszahlen stellen abgeleitete Informationen dar und ergeben sich nach User#aktivitätszahl
(https://github.com/fiedl/wingolfsplattform/blob/master/app/models/user.rb#L174).
Siehe auch: /Dok 2011-29/, Abschnitt 3.11 und /Dok 2011-35/, Abschnitt 6.5.
Kontaktinformationen sind als Profilfelder abgelegt. Siehe User#profile_fields
.
Eine wichtige Besonderheit ist bei zusammengesetzten Profilfeldern, beispielsweise Adressdaten, zu beachten: Aufgrund einer Übergangslösung waren diese Daten teils redundant gespeichert. Die Informationen in ProfileFields::Address#value
sind als ungültig zu betrachten. Gültig sind die Informationen, die sich aus den Kind-Profilfeldern :first_address_line, :second_address_line, :postal_code, :city, :region, :country_code
ergeben. Siehe ProfileFields::Address#composed_address
.
Gruppenzugehörigkeiten, z.B. Mitgliedschaften und Status-Zuordnungen in Verbindungen, wurden aufgrund einer Übergangslösung redundant gespeichert (DagLink
). Alle Informationen aus indirekten Links DagLink.where(direct: false)
sind als ungültig zu betrachten. Die gültigen Informationen ergeben sich rekursiv aus den direkten Verbindungen (DagLink.where(direct: true)
). Beispielsweise wird per DagLink.where(ancestor_type: "Group", ancestor_id: 123, descendant_type: "User", descendant_id: 123).first.valid_from
der Beginn-Zeitpunkt einer direkten Mitgliedschaft des Benutzers mit der ID 123 in der Gruppe mit der ID 123 abgefragt.
Die Daten für Leibverhältnisse und Wingolfsverwandtschaften befinden wurden noch nicht in das Wingolfsplattform-System migriert und müssen direkt aus dem Netenviron-Datensatz 2014 übernommen werden.
Bei Rückfragen erstellen Sie bitte ein Issue unter https://github.com/fiedl/wingolfsplattform/issues.