Ich versuche eine Webanwendung zu entwickeln, die wie die meisten Anwendungen eine Datenbank verwendet. Um die Datenbank zu erstellen, schreibe ich eine .sql
-Datei, die alle Änderungen enthält, die ich an der Datenbank mache. Ich weiß nicht, warum genau, aber in der Vergangenheit fand ich es immer schwer, meine Datenbank zu leeren oder sie später zu ändern, wenn ich feststelle, dass eine Änderung sinnvoll wäre. Da ich immer noch all diese datenbankbezogenen Sachen lerne, wird das erste Layout meiner Datenbank immer geändert. Um all diese Änderungen im Auge zu behalten, habe ich mir angewöhnt, eine .sql
Datei zu erstellen.Wo kann ich die .sql-Datei speichern, die meine Datenbank erstellt?
In dieser Datei lösche ich immer alle Tabellen, die bereits vorhanden sind und alle Tabellen neu erstellen. Ich tue dies, um eine Referenz über den aktuellen Zustand meiner Datenbank immer zur Hand zu haben. Änderungen an einer Datei sind für mich wesentlich einfacher als die direkte Verwendung des Befehlszeilen-Datenbankwerkzeugs. Die erste Frage wäre wirklich: Ist das wirklich eine gute Übung oder gibt es eine andere Art Dinge zu organisieren, von denen ich noch nichts gehört habe?
Die eigentliche Frage ist: Wo kann ich diese Datei speichern? Ist es eine gute Vorgehensweise, es im selben git-Repository wie den eigentlichen Code zu speichern? Soll ich es überhaupt in git stecken? Ich denke auch an Git/Github als Cloud-Speicher, wenn meine Festplatte brennt, werden alle meine Projekte noch da sein, seit ich sie auf GitHub habe. Wenn ich die .sql Datei dort nicht habe, musste ich die Datenbank von neu gründen.
Ich sehe keinen Grund, dies nicht in der Quellcodeverwaltung zu speichern. Es ist schließlich Code, um eine Instanz der Anwendung zu erstellen. – David
Vielleicht hast du Recht und ich überlege nur Dinge ... Vielleicht ist mein Verstand zu sehr in der Welt der Microservices, die alle ihr eigenes Git-Repo bekommen und ich würde nicht wissen, wo die .sql-Datei passt. Die Datenbank ist ein eigener Dienst. – patsimm
@patsimm FTR, das Ändern eines Datenbankschemas ist notorisch schwierig. [Deshalb ist es so teuer.] (Https://www.red-gate.com/dynamic/purchase/product/sqlsourcecontrol). Ich bin nicht ganz davon überzeugt, dass diese Frage zum Thema ist. Es geht mehr um Entwicklungsmethodik als um Programmierung. – jpaugh