Datenbanken unter Versionskontrolle

Dein Thema passt einfach in kein Forum? Dann probiers mal hier.
Antworten
thereapman
Beiträge: 36
Registriert: 6. Juni 2007 15:39

Datenbanken unter Versionskontrolle

Beitrag von thereapman »

Hi Leute!

Ich hab jetzt meinen Code fein säuberlich in Git-Repos aufgeteilt.
Allerdings brauchen einige Komponenten eine Postgre-Datenbank die gleichzeitig mitentwickelt wird (tabellen etc.).

Jetzt suche ich ne möglichkeit diese DB-informationen auch irgendwie unter versionskontrolle zustellen und auch immer mitzuhaben, wenn ich meine Repos zb auf meinen Laptop auschecke und dann keinen Netzwerkzugriff auf die Masterdatenbank mehr habe um weiter zu arbeiten.

Jemand ne elegante Idee dazu?
Mani99
Beiträge: 244
Registriert: 15. April 2009 10:46
Wohnort: München

Beitrag von Mani99 »

Kann git einen sql dump speichern? Ich hab mich leider noch nicht mit git beschäftigt, aber wenn git auch mit textdateien umgehen kann, dann einfach sql dump erzeugen und im repository speichern!
androphinx
Beiträge: 170
Registriert: 26. Januar 2009 09:19
Wohnort: 127.0.0.2

Beitrag von androphinx »

mach dir ein skript welches du immer vor und nach dem co ausführst. vor dem co machst du dir mittels mysqldump eine sicherung und nach dem co spielst du es ebenfalls mit mysqldump wieder ein.

@Mani99: warum sollte git nicht mit textdateien zurecht kommen??? textdateien sind die einfachste aufgabe für versionskontrollsysteme.....

EDIT: Alternativ kannst du auch einfach einen MySQL-Server im Netz nutzen (bei sourceforge.net, etc.) mit dem du immer synchronisierst.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Mach die Versionskontrolle doch in der DB! Mit Textfiles wäre mir zu unsicher...
Eine eigene Tabelle "Info" oder wie auch immer, die die aktuelle Version hält.
Im Programm selber gibt es Funktionen, um die DB von einer Version in die andere zu überführen. Beim Programmstart frägst du die Version (per QSqlQuery) ab, im Code steht hartcodiert die aktuelle Version, die der Code verlangt.

Falls DB-Version > Code-Version -> Exception.
Falls DB-Version < Code-Version -> stück für Stück die Migrations-Funktionen aufrufen.

Denn wenn du nur das SCHEME speicherst und lädst sind flux beim User die Daten weg :P
Und auch mit nem DUMP muss die DB-Struktur angepasst werden.
Antworten