phpbar.de logo

Mailinglisten-Archive

[php] php + sql + cvs

[php] php + sql + cvs

Dr. Volker M. Göbbels php_(at)_phpcenter.de
Thu, 22 Aug 2002 19:14:25 +0200


Hallo,

> wir entwicklen Datenbankapplikationen mit php vor allem für Oracle
> Datenbanken.

Schick :->

> Dabei habe ich eine menge Objekte (Tabellen, Views, stored procedures
> etc) in der Datenbank die zu einer bestimmten Applikation gehören.
> Zur Versionskontrolle verwenden wir cvs.

Nicht optimal, aber ok. Kommt auf die Größe der Applikationen, deren Anzahl
und die Anzahl der zugreifenden Entwickler an. Und darauf, wie komfortabel
man's haben mag ;)

> Ich habe aber noch keine vernüftige Arbeitsweise gefunden, wie ich meine
> sql Objekte mit in die Versionskontrolle bekomme. Im moment mache ich
> bei jeder release einen Datenbankexport und lege den dem cvs bei
> Hat jemand Erfahrung in diese Richtung, oder gibt es vielleicht sql
> tools die cvs unterstützen?

Hm, ich kenne eine ganze Reihe SCM Tools (Software Configuration Management,
nicht Supply Chain Management ;o). Aber keines von denen hat ein natives
Datenbank-Plugin.
Ich denke, dir schwebt sowas vor wie das Oracle Plugin im Veritas Cluster
Manager, nur halt für Versionsverwaltung.
Ich kenne allerdings diese antike Adabas Version für Natural, die kann
selbsttätig Versionierung betreiben. Aber danach war auch nicht gefragt.
Lange Rede, kurzer Sinn. Ich kenne 3 Möglichkeiten:
1. Wie du's schon machst: ASCII Dump fahren und den archivieren
2. Binärdump fahren und über einen CVS Wrapper archivieren
3. Basis-Version als ASCII Dump archivieren und dazu einen Baum der
   DB-Migrationsscripte, also der Scripte die die bestehende DB auf den
   neuen Stand patchen.
Gerade Version 3 ist recht praktisch in größeren Projekten, bedingt aber
auch
den größten Aufwand. Da muß jemand DBA Scripte schreiben können. Ich kenne
SEHR große Projekte wo's für das Schreiben dieser Dinge eigene
Code-Generatoren
gab, die einen Diff auf die beiden DB-Versionen machten und dann alter table
Statements, verpackt in einem Shellscript ausspuckten. Das wurd dann
archiviert.
Und nach einer Reihe von Versionen auch so "Sprung-Scripte", also
zusätzlich zu
5 Scripten für 1.1 -> 1.2 -> 1.3 -> 1.4 -> 1.5 -> 2.0 gabs noch eines für
den
Sprung 1.1 -> 2.0 ;)
Dazu passend gabs dann DB-Patcher, denen man sagte: nimm 1.3.4 und patch das
hoch auf 3.2. Dann zog das Dingen alles Nötige aus der Versionsverwaltung
und baute die entsprechende DB-Version.
So ein System mal für CVS zu bauen wäre vielleicht eine lohnende Aufgabe :->

Viele Grüße,
Volker Göbbels
--
Arachnion GmbH & Co. KG  -  Business Communication, Web Development
Gouleystraße 59, 52146 Würselen             http://www.arachnion.de
Dr. Volker M. Göbbels                              vmg_(at)_arachnion.de
Tel. 02405-424770                                  Fax 02405-424772


php::bar PHP Wiki   -   Listenarchive