Ankündigung

Einklappen
Keine Ankündigung bisher.

Eine Datenbank pro Entwickler vs. zentrale Entwicklerdatenbank

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Eine Datenbank pro Entwickler vs. zentrale Entwicklerdatenbank

    Hi,

    habe mal ne generelle Frage, wie andere PHP Entwickler, die an einem Projekt im Team arbeiten, mit Ihren Datenbanken umgehen. Es gibt ja mehrere Möglichkeiten:


    Hat jeder Entwickler seine eigene Datenbank? Wenn ja, wie synchronisiert Ihr die Strukturen und die Daten. Strukturen ginge ja noch über Workbench, aber bei den Daten. z.B. der eine fügt bei sich einen Eintrag in einer "country" Tabelle hinzu, ohne die die Applikation in einem anderen Land nicht lauffähig ist. Wenn jetzt ein anderer Entwickler den Quellcode per Versionsverwaltung updatet und dieser Eintrag ist nicht vorhanden in seiner lokalen Datenbank, dann gibt es Probleme.
    Wie wird bei einem solchen Szenario sichergestellt, dass die Änderungen später auch auf der Livedatenbank landen.

    Gibt es nur eine zentrale Entwicklerdatenbank? Wenn ja, wo steht diese. Auf einem Server im Büro, so dass die Latenzen nicht so groß sind. Oder doch im großen Rechenzentrum, was die Latenzen ins Nirvana gehen lässt, dafür aber keine Extra Hardware im Büro rumsteht und das Büronetz auch nicht nach außen geöffnet werden muss, wenn Entwickler auch mal von Außerhalb arbeiten.
    Auch hier ist dann die Frage zu stellen, wie sichergestellt wird, dass sämtliche Änderungen an der Entwicklerdatenbank auch auf die Live-Datenbank mit rüber genommen werden.

    Wird nur auf der Livedatenbank entwickelt? Wenn ja, hat man hier natürlich das gleiche Problem mit den Latenzen, allerdings keine Synchronisierungsprobleme. Dazu kommt natürlich aber das hohe Risiko der Softwarefehler, die evtl. die Livedaten beschädigen.


    Mich würde mal interessieren, wie Ihr das in Euren Teams von 2 - 10 Personen macht. Gerne auch Links zu anderen Diskussionen, Blogeinträgen, Webseiten, oder ähnliches, wo gleiches diskutiert wurde oder wird. Gerne auch auf Englisch

  • #2
    Versioneering ftw.

    Entwickeln tuh ich grundsätzlich nur auf einer lokalen Kopie oder einer Identischen lokal gespeicherten Struktur der jeweiligen Datenbank. Schafft es eine Änderung in die nächsthöhere Version gibts nen Datenbank-Patch der die Korrekturen vornimmt ( der natürlich auch totgetestet wurde bevor er Live-Datenbanken erreicht ).

    Kommentar


    • #3
      Unterscheidet sich bei mir. Web-Entwicklung mache ich über eine lokale MySQL-Instanz. Tests laufen dann auf einem dem Produktivsystem entsprechenden Ersatzsystem. Liegt vor allem daran, dass ich teilweise auch direkt beim Kunden entwickel, da muss ich also alles dabei haben.

      Bei der Windows Entwicklung haben wir teilweise Datenbanken mit mehreren hundert MB. Dafür gibt es einen eigenen Datenbankserver bei uns im Büro. Zumal die Entwicklung immer nur bei uns im Büro stattfindet. Also kein Zugriff von außen.

      Kommentar

      Lädt...
      X