Tach Thorsten
Da bin ich dabei, die neue Struktur hat definitiv die Reife für Beta. Eigentlich schon deine erste Alpha.
Aber bevor wir das machen, 2 Dinge vorab über die ich mir in den letzten Wochen Gedanken gemacht habe. Dabei gehts in beiden Fällen um Dinge die man möglichst am Anfang entscheiden soll/muss.
1. Version
Ich hatte als Startversion 3.0 vorgeschlagen, weil das für Endbenutzer leichter verständlich ist. Aber das hätte 2 Nachteile:
- Wir stellen RT auf komplett eigene Basis und somit sollte auch die Versionsnummer dazu passen. Wenn wir für RTNG 3.0 nehmen, würden wir ja schon wieder eine Abhängigkeit von RT übernehmen, weswegen ich inzwischen dagegen bin. Wenn schon eigenständig, dann richtig und RTNG 1.0 wäre auch technisch korrekt, denn RTNG ist nunmal nicht RT, sondern stellt einen unabhängigen Neubeginn dar. Und ein Zurückwechseln auf RT kommt für mich schon lange nicht mehr in Frage, wenn es bei RT mal weitergehen sollte.
- Obwohl es schon seit längerem sowohl in der CDB als auf GH nicht so aussieht, als ob für RT nochmal was kommen wird, können wir es nicht wirklich ausschliessen. Sollte Sajaki sich entschliessen das Projekt wieder aufzunehmen und vielleicht sogar wieder CDB Updates machen, kann es früher oder später passieren, das er ebenfalls 3.0 nutzt und spätestens dann hätten wir ein Problem bzw. dann hätten wir nichts gewonnen durch Verwendung von 3.0 in Bezug auf Vereinfachung, sondern im Gegenteil wäre das alles komplizierter.
2. Migration
Bei der Benennung der Migrationsdateien sollten wir ein simples Versionsnummer-Muster verwenden, weil man dann im Ordner sofort den Migrationspfad erkennen kann und bei einer neuen Migration auch sofort sieht, welches die vorletzte war, die wir ja für die neue brauchen. Dann habe ich irgendwo gelesen, dass eine separate Migration für Schema Änderungen empfohlen wird. Ich bin mir ziemlich sicher, dass das in der Ext Doku war, das finde ich so jedoch aktuell nicht mehr. Entweder ich täusche mich und das war woanders, oder die Doku wurde in dem Punkt geändert. Da wurden Dateinamen auch mit dem Präfix
s_
bei Schema Migrationen begonnen und alle anderen Migrationen mit
v_
. Und bei Schema Migrationen wurde das Suffix
_initial_schema
verwendet, was ich aber unnötig finde, denn wenn man Versionsnummern verwendet, ist sofort klar welche Schema Migration die erste ist.
Beispiel WWH:
https://github.com/LukeWCS/lf-who-was-h ... migrations
Im Klartext hiesse das für RTNG im Ordner
migrations
initial folgendes:
Bei
s_1_0_0.php
packen wir die DB Schema Änderungen rein und bei
v_1_0_0.php
wird alles andere bezüglich Migration eingebaut.
Diese Systematik sorgt für eine prima Übersicht bezüglich dem Migrationspfad und man sieht auch sofort, bei welchen Versionen es Migrationen gab und auch welche Migration die letzte war, was bei einer neuen Migration ja zwingend relevant ist.