Entwicklungsumgebung / Liveumgebung

  • Hallo Liebe Forengemeinde,

    ich möchte gerne eure rangehensweise bzw Erfahrungswerde wissen.
    Wir haben mehrere Webprojekte. Unteranderem Typo3, Contenido, XT...
    Nun haben wir zu jedem Projekt eine Dev Umgebung und kopieren dann mühsehlig unsere Daten von Dev nach Live und schauen auch ob neue Datenbankfelder hinzugekommen sind.
    Das raubt schon immer etwas an Zeit.

    Wir wollen das ganze nun vereinfachen. Einen File Sync zu realisieren ist recht einfach. Die Datenbank ist eher ein Problem. Ich kann diese ja schlecht einfach syncen...
    Der Gedanke ist ja dann auf Knopfdruck von dev auf live zu syncen...

    Wie macht ihr das mit dev und live?

  • sorry fürs späte antworten...
    aber es gibt drei möglichkeiten:)

    1) svn, wobei es nicht wirklich ratsam ist für eine live-umgebung svn-infos dabei zu haben, macht nen backup auch schwerer, weil man viele kleine files kopieren muss im falle einer sicherung

    2) dev-stand ist == livestand, also man holt sich immer mal wieder den datenbestand der live-umgebung ran und hat so eine anständige übersicht

    3) datenbank-sync via trigger, kein plan ob mysql sowas schon kann, aber ne echte datenbank, wie oracle kann sowas auf jeden fall, da schreibt man sich ganze prozeduren mit triggern und PL/SQL und kann sich so seine insert- und update-trigger bauen, die eine datenbank spiegeln und so..
    wenn du root-zugriff hast, schreib dir doch nen cronjob und geh übers system, backup db1 holen und auf db2 aufspielen. kein hexenwerk :P

  • Also Filesystem ist weniger das Problem. Da könnte ich auch ein eigenes Sync script schreiben :)

    Zu 3.

    Das Problem ist ja z.B. man macht eine Änderung für einen Kunden. Angenommen diese Änderung wird 3 Wochen dauern. Also holt man sich die aktuellen Daten und programmiert und fügt ein paar Felder hinzu... Der Kunde fügt natürlich Produkte oder Inhalte in seine Liveseite...

    Wie will man das sauber syncen. Die Testdaten aus dem Dev dürfen auf keinen Fall ins Livesystem. Wenn ich aber eine Extension installiere, die Datenbankfelder hinzufügt, müsste ich diese dann nochmal im Livesystem installieren um die Felder dort auch zu haben...

    Also bis jetzt haben wir noch keine saubere Lösung gefunden. Werden auch bei MySQL bleiben müssen :)
    Es gibt ein schönes Perl script... perldiff, welches MySQL Felder abgleichen kann und die Alter Table befehle ausgibt.

  • also ich speicher mir die alter table-dinger immer weg und klopp die dann der reihe nach ins live-system rein :)
    is zwar auch etwas "mühseelig", aber es gibt sonst keine saubere variante, denke ich