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?
Datenbanken unter Versionskontrolle
-
- Beiträge: 36
- Registriert: 6. Juni 2007 15:39
-
- Beiträge: 170
- Registriert: 26. Januar 2009 09:19
- Wohnort: 127.0.0.2
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.
@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.
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
Und auch mit nem DUMP muss die DB-Struktur angepasst werden.
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
Und auch mit nem DUMP muss die DB-Struktur angepasst werden.