• Willkommen im Zend Framework Forum

    ZF1 Zend Framework 1 + ZF2 Zend Framework 2

    Das Zend Framework Forum ist seit 2006 die erste Anlaufstelle für Zend Framework Entwickler in Deutschland. Mit über 70.000 Beiträgen und einer steigenden Nutzerzahl bietet das Forum hilfreiche Themen und ZF-Tutorials für professionelle Entwickler, fortgeschrittene Programmierer sowie Zend Framework Einsteiger.
    Wenn dies Dein erster Besuch in der Zend Framework Community ist, lies bitte zuerst die Hilfe - FAQ durch. Du musst Dich registrieren, bevor Du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um die Registrierung zu starten. Du kannst auch jetzt schon Beiträge lesen. Hier im Forum findest Du die Zend Framework Hilfe, die Du suchst!

    Grüße an alle Zend Framework Entwickler. Das Team vom Zend Framework Forum!

    Drupal Agentur

Idee: Zend Framework DB Deployment Managment

flod

New member
Hallo,

Wir haben immer wieder das Problem das wir verschiedene Datebanken mit unterschiedlichen Versionsständen haben und immer wieder die neusten Erweiterungen der Datenbank händisch nachziehen müssen.

Daher haben wir uns Gedanken gemacht wie man Datenbankänderungen über ein Zend Framework DB Deployment Managment abbilden könnte.

Was soll das DB Deployment Management machen`?

Sie soll Datenbankänderungen/Erweiterungen automatisch ausführen und überwachen.

Beispiel.

Man spielt per Mysqldump einen Livestand Version 1.5 auf einen Testserver ein.
Die Scripte auf dem Testserver sehen für die Version 1.6 Datenbankänderungen vor.
Das Script erkennt welche Datenbankversion und führt ggf die Updates in diesem Fall nur alle SQL Querys ab 1.5 bis 1.6 aus.

Würde gern eure Anregungen zu der Idee lesen und mit euch diskutieren wie man ein solches DB Deployment Management umsetzen könnte auf Zend Basis.
 

Kaiuwe

Super-Moderator
Würde gern eure Anregungen zu der Idee lesen und mit euch diskutieren wie man ein solches DB Deployment Management umsetzen könnte auf Zend Basis.
Du meinst ZF-Basis! ;)

Zum Thema: Würde ich gar nicht anfassen, denn das Problem lösen doch schon die ganzen Entwicklungs- und Managementtools für Datenbanken.
 

ice-breaker

New member
für sowas gibts Liquibase, du kannst natürlich eine PHP-Lib schreiben die die Liquibase-Versionsinfos ausliest, mit der DB vergleicht (in der DB gibts dann ne neue Tabelle mit der Versionsnummer) und Changes ausführt. Oder auch einfach erstmal nur die Versionen vergleicht, dass man nen Fehler werfen kann.

Wenn du das ganze DB-Treiber unabhängig machst (also ne eigene Abstraktion für die DB*) wäre das sicherlich für einige interessant, nicht nur für ZF-Nutzer. Wobei der kleinere Funktionsnummer des Versionsvergleichs imho erstmal ausreichen würde.

* damit man nen Zend_Db oder Doctrine Treiber schreiben kann, oder einfach plain PDO. Ist ja nicht viel was es unterstützen muss, ein Select und DDL-Statements
 
Zuletzt bearbeitet:

flod

New member
Vielen Dank für die Ideen.

Will es schon gerne mit Zend realsieren.
Idee war es ine Versions Tabelle in der DB zu hinterlegen.
Ausserdem eine Versionsnummer in der Application.ini

So entscheidet das script anhand dieser beiden Nummern welche Scripte zwischen den beiden Ständen ausgeführt werden müssen.
Die SQL Scripte würde ich erstmal in einen database ordner packen.

database
- 0.1
- - usertabl.sql
- - sonstiges.sql
- 0.2
- - backup.sql
- - usertabeldelete.sql
...
 

ice-breaker

New member
Neija warum noch ein System für Database Migrations entwickeln? Es gibt mittlerweile Drölf Millionen verschiedene Implementierungen. Dann muss die in versch. Build-Prozesse integriert werden und und und.

Imho brauchen wir nicht noch ein System, vor allem nicht eines welches nur auf das ZF beschränkt ist. Projekte, die nicht in PHP geschrieben sind oder nicht mit dem ZF brauchen dann wieder andere Systeme: man muss nen dutzend verschiedene Systeme nutzen.


Aber irgendwie ist die PHP-Welt ja dafür berühmt dafür, für alles Lösungen doppelt und dreifach zu entwickeln und die Hälfte dann nach einer gewissen Zeit auf Github verwaisen zu lassen. Ein Grund warum es bis heute keine richtig gute PHP DB Migrations Library gibt und zudem fast-Standard Liquibase gegriffen wird.
 
Zuletzt bearbeitet:
Oben