Hibiscus: Migratio von embedded Datenbank zu MySQL

andreash

Betreff:

Hibiscus: Migratio von embedded Datenbank zu MySQL

 ·  Gepostet: 01.03.2010 - 10:06 Uhr  ·  #65326
Hallo,

ich habe seit einigen Monaten Hibiscus im Einsatz, und würde das ganze jetzt gerne auf MySQL-Beine stellen. Wie kann ich die Daten aus der embedded-Datenbank nach MySQL migrieren und Hibiscus dann so einstellen, dass es dann mit MySQL arbeitet?

Dank & Gruß aus Bremen,

Andreas.

hibiscus

Betreff:

Re: Hibiscus: Migratio von embedded Datenbank zu MySQL

 ·  Gepostet: 01.03.2010 - 10:58 Uhr  ·  #65330
Unter Plugins->Hibiscus->Erweitert findest du eine Option "Diagnose-Backup erstellen". Hierbei wird ein XML-Dump der Datenbank erzeugt. Konfiguriere Hibiscus anschliessend so, dass es MySQL verwendet und importiere danach den XML-Dump wieder mittels Plugins->Hibiscus->Erweitert->Diagnose-Backup importieren.

kcp

Betreff:

Probleme beim Import

 ·  Gepostet: 06.03.2010 - 15:52 Uhr  ·  #65564
Hi Willow,

ich habe das mal probiert. Leider kracht es beim Import. :-(

Ich denke die Einträge mit id=0 im xml könnten evtl. das Problem sein. Beim Insert in die Mysql werden die IDs zu Werten größer 0.

Ich habe bspw. 3 Konten, die im xml die IDs 0, 1 und 2 haben. Nach dem Insert haben die Konten mit den IDs 1 und 2 ihre IDs behalten. Das Konto mit ID 0 hat aber eine 3 bekommen. Als Folge schlägt das Insert der Umsätze fehl, weil die Key-Beziehung nicht stimmt.

Bei den Adressen hat es mit einem Duplicate-Key geknallt, weil der Addresseintrag mit ID 0 beim Insert eine neue ID bekommen hat. Leider hat ein anderer Adresseintrag die gleiche ID.

Getestet habe ich das unter Linux mit Mysql 5.1.42.

Jemand ähnliche Erfahrungen gemacht?

Grüße
Charly

hibiscus

Betreff:

Re: Hibiscus: Migratio von embedded Datenbank zu MySQL

 ·  Gepostet: 07.03.2010 - 23:47 Uhr  ·  #65580
Ja, das stimmt. MySQL erlaubt bei Primary-Keys nur Werte > 0. Da bleibt dir wohl nichts anderes uebrig, als die XML-Datei in einem Texteditor zu oeffnen und die "0" ueberall gegen eine noch freie ID (z.Bsp. 3) zu ersetzen.

joti2

Betreff:

Re: Hibiscus: Migratio von embedded Datenbank zu MySQL

 ·  Gepostet: 23.01.2012 - 14:26 Uhr  ·  #80878
Hallo Olaf/Hibiscus,

spricht etwas dagegen Hibiscus so zu verändern, dass es auch bei der Embedded-DB Primärschlüssel ab 1 verwendet? Das würde die Migration ja regelmäßig einfacher und supportfreier ermöglichen?
Soll dafür ein Bugreport aufgemacht werden?

Ansonsten will ich das wohl mal versuchen.

hibiscus

Betreff:

Re: Hibiscus: Migratio von embedded Datenbank zu MySQL

 ·  Gepostet: 23.01.2012 - 14:28 Uhr  ·  #80879
Zitat geschrieben von joti2
spricht etwas dagegen Hibiscus so zu verändern, dass es auch bei der Embedded-DB Primärschlüssel ab 1 verwendet?


Ja. Ich weiss nicht, ob das ueberhaupt geht. Die IDs werden von der H2-Datenbank automatisch vergeben - ich wuesste nicht, wie ich da ein Start-Offset angeben kann. Das ist eine von Hibiscus verwendete Dritt-Software, die nicht von mir programmiert wurde. Siehe http://www.h2database.com

joti2

Betreff:

Re: Hibiscus: Migratio von embedded Datenbank zu MySQL

 ·  Gepostet: 23.01.2012 - 14:41 Uhr  ·  #80880
Zitat geschrieben von hibiscus
Zitat geschrieben von joti2
spricht etwas dagegen Hibiscus so zu verändern, dass es auch bei der Embedded-DB Primärschlüssel ab 1 verwendet?


Ja. Ich weiss nicht, ob das ueberhaupt geht. Die IDs werden von der H2-Datenbank automatisch vergeben - ich wuesste nicht, wie ich da ein Start-Offset angeben kann. Das ist eine von Hibiscus verwendete Dritt-Software, die nicht von mir programmiert wurde. Siehe http://www.h2database.com


Danke für die fixe Antwort. Ein kurzer Blick zu Google und in die H2DB Dokumentation zeigte auch nichts, was dahingehend nützlich wäre. Es scheint noch einen MySQL-Kompatibilitätsmodus zu geben, der für dieses spezifische Problem allerdings nichts zu enthalten scheint, sondern eher für andere MySQL-Eigenarten.
Wenn die Primärschlüssel von H2DB immer ab 0 sequentiell vergeben werden, wäre ja die unsaubere Methode jede relevante Tabelle mit einem Blind-Eintrag vorzubestücken und somit die Schlüsselnummer 0 zu verbrauchen. Das müsste natürlich in den entsprechenden Queries beachtet werden.

Aber vermutlich wäre ein Skript zur Nachbearbeitung des Backups oder eine "Mysql-Migrationsfunktion" die die Backup-Ausgabe entsprechend anpasst am hilfreichsten. Ich mach das ganze erstmal und berichte dann mehr.

j

Betreff:

Re: Hibiscus: Migratio von embedded Datenbank zu MySQL

 ·  Gepostet: 23.01.2012 - 16:45 Uhr  ·  #80882
Bei der Definition der Tabelle ist der Primärschlüssel wie folgt anzugeben:

Code

CREATE TABLE tabelle (
 id IDENTITY(1),
 :
 :


Lt. Dokumentation kann bei IDENTITY ein Startwert und ein Inkrementierungswert angegeben werden.

Heiner

hibiscus

Betreff:

Re: Hibiscus: Migratio von embedded Datenbank zu MySQL

 ·  Gepostet: 23.01.2012 - 17:51 Uhr  ·  #80884
Stimmt. Haste Recht. Wirklich ausdruecklich erwaehnt ist das zwar unter http://www.h2database.com/html…definition nicht (zumindest steht in dem Beschreibungstext drunter nichts). Aber es sieht plausibel aus. Ich werd das mal aendern. Gilt dann aber natuerlich nur fuer Neu-Installationen.

j

Betreff:

Re: Hibiscus: Migratio von embedded Datenbank zu MySQL

 ·  Gepostet: 23.01.2012 - 19:41 Uhr  ·  #80885
Ich habe die Änderung in JVerein auch nachvollzogen.

Heiner