Datenbanken mergen

7. Februar 2017 12:26

Hey,

ich steh vor der wundervollen Aufgabe 3 Datenbanken (je 1 Mandant) in eine deutsche Datenbank zu migrieren.
Da Außer in der Schweizer Version (ESR Zahlungen) werden keine Länderspezifischen Sachen benutzt werden.
Als Ausgangsbasis hab ich:
- 2015CU6 DE
- 2015CU12 CH
- 2015CU12 GB
- 2015CU6 NL

Von den Customizings her sind alle Datenbanken auf den gleichen Stand.

Wie ich nun vorgehen würde.
1. Alle Datenbanken auf das gleiche CU bringen.
2. Modul für ESR Zahlung implementieren und migrieren
- in DE Datenbank implementieren
- in CH Datenbank implementieren und Daten aus dem Standard-CH migrieren.
3. Die 3 Mandanten in DE Datenbank als neue Mandanten anlegen.
4. Die Tabellen aus den alten Datenbanken je Mandant in die DE Datenbank kopieren
5. Testen :D

Hab ich etwas nicht beachtet? Wo kann es zu Problemen kommen?
Hat dies jemand schon einmal gemacht und kann seine Erfahrungen ggf. teilen?

Re: Datenbanken mergen

7. Februar 2017 12:55

Hallo,

Hast du schon mal eine Textcompare der Versionen ohne länderspezifische Sprachpakete gemacht? Der sollte dir die nötigen Infos geben, ob das überhaupt funktionieren kann.

Gruß Fiddi

Re: Datenbanken mergen

7. Februar 2017 13:58

Macht das denn Sinn?
Reicht es nicht zu gucken, was hat die Sprachversion für zusätzliche Spalten.
Stehen da Daten drin und wenn ja, wo müssen dies in der deutschen Version hin geschoben werden, bzw spielen diese überhaupt eine Rolle?!

Re: Datenbanken mergen

7. Februar 2017 14:00

Ted hat geschrieben:4. Die Tabellen aus den alten Datenbanken je Mandant in die DE Datenbank kopieren

Klingt fehlerträchtig, außerdem fehlen dann z.B. BLOBs.
ich würde erst mal versuchen, die Im-/Exporte über .navdata-Dateien zu machen, siehe hier.
Dazu muss allerdings das Datenbankschema identisch sein, man müsste also pro Lokalisation eine Zwischen-DB erstellen und hier zuerst in allen den "gemeinsamen Nenner" aller Versionen auf Tabellen- und Feldebene herstellen (Quellcode in Feldtriggern, Tabellenfunktionen etc. sind hierbei nicht relevant). Dann hieraus die drei .navdata-Dateien exportieren und nacheinander in die DE-Zieldatenbank importieren.

Wenn das nicht klappt: Jede Tabelle einzeln geht immer noch :wink: .

Re: Datenbanken mergen

7. Februar 2017 14:08

Ted hat geschrieben: Reicht es nicht zu gucken, was hat die Sprachversion für zusätzliche Spalten.

Nein, den Vergleich ohne Sprachpakete würde ich auch zuerst machen. Die Sachen, die man hoffentlich nicht braucht, treten erst dann deutlich zu Tage.
Hier ist ein Skript, mit dem das (unter Beibehaltung der Objektgruppierungen) relativ schnell machbar ist.

Re: Datenbanken mergen

7. Februar 2017 14:13

Macht das denn Sinn?
Reicht es nicht zu gucken, was hat die Sprachversion für zusätzliche Spalten.
Stehen da Daten drin und wenn ja, wo müssen dies in der deutschen Version hin geschoben werden, bzw spielen diese überhaupt eine Rolle?!


Es gibt nicht nur Felder sondern auch Tabellenschlüssel und auch Programmcode, der u.U. anders funktioniert. Es reicht ja schon, wenn ein Optionswert in mehreren Versionen vorkommt aber jeweils einen anderen Index hat, oder der in einer anderen Version schon belegt ist, dann wird es richtig lustig mit dem Update.

Gruß Fiddi

Re: Datenbanken mergen

7. Februar 2017 14:30

Um sich zu orientieren, würde ich dieses noch vorschalten:
Alle Versionen zuerst zur W1 vergleichen (natürlich auch erst nach Entfernen der Sprachen :wink: ) . Die Deltadateien sind schnell automatisch erstellt (mittels Compare-NAVApplicationObject) und dann kann man dort ersehen, wo jeweils die Abweichungen sind.

Re: Datenbanken mergen

7. Februar 2017 14:41

Gut, danke. Ich werde es mal in Angriff nehmen.