Re: [3.3] [3.2] [3.1] Download Extension
Verfasst: 04.10.2021 22:50
Der Link zum Repository im Startbeitrag stimmt nicht.
phpBB.de - Die deutsche phpBB-Community
https://www.phpbb.de/community/
public function effectively_installed()
unterbunden werden.Bei LFWWH 1 habe ich auch noch die Methode benutzt, die viele nutzen, sprich Versionsnummer per Migration erhöhen. Bei LFWWH 2 habe ich ab 2.1.0 die Methode gewählt, die Version aus deroxpus hat geschrieben: 08.10.2021 17:03 Wenn dem tatsächlich so ist, sollte ich mal meine Aktualisierungsstrategie in der Extension überdenken.
Denn die meisten Migrationen aktualisieren lediglich die Versionsnummer der Extension.
Das kann man auch anderweitig lösen, um die zahlreichen Migrationsschritte deutlich einzudämmen.
composer.json
zu ziehen. Denn da steht sie ja eh schon drin. Ich fand es irrsinnig wegen der Versionsnummer jedes Mal eine neue Migration anzulegen. Migrationen lege ich nur noch an, wenn sie auch wirklich benötigt werden.Mir fällt auch kein Grund ein, warum phpBB das unbedingt machen müsste. Von meinem aktuellen Kenntnisstand aus, ist das ein unsinniges Verhalten. Darüber hinaus kann es je nach Code-Logik auch zu Fehlern kommen, wie es bei der Deinstallation von 2.1.1 geschehen ist. So bin ich ja überhaupt erst darauf gekommen, dass phpBB eine Migration zigfach ausführt. Würde ein Migrationsschritt wirklich nur einmal ausgeführt werden, hätte ich bei der Lösung des Problems gar nicht erst "drumherum" programmieren müssen. Sprich, ich muss jetzt gezielt damit rechnen und berücksichtigen, dass mein Code mehrfach ausgeführt wird.Und ja, du hast Recht:
An dieser Stelle passiert im phpBB doch wohl einfach Blödsinn.
Um das zu präzisieren: ich hatte ja mal ausgesagt, dass phpBB einen Migrationsschritt nicht mehr anfasst, wenn dieser als "erledigt" in die DB eingetragen wurde. Diese Aussage hat noch Gültigkeit. Aber bis ein Schritt als erledigt eingestuft wird, wird eine Migrationsdatei zigfach ausgeführt. Genauer gesagt wirdWarum werden denn die Migrationen noch mal in die Datenbank geschrieben, wenn dennoch alle Migrationen immer wieder geöffnet, bzw. ausgeführt werden?
Da hat doch jemand nicht zu Ende gedacht oder habe ich da etwas übersehen?!?
update_data()
mehrfach ausgeführt und das ist ja gerade die Funktion die sowohl bei der Installation als auch Deinstallation relevant ist.Die besagte Problematik hat damit nichts zu tun. Es spielt keine Rolle obDr.Death hat geschrieben: 08.10.2021 17:57 Das erneute Ausführen von Migrationsschritten sollte eigentlich durchpublic function effectively_installed()
unterbunden werden.
Bei jedem Aktivieren werden alle Migrationsschritte erneut durchlaufen und alle die ein "effectly installed" haben übersprungen.
effectively_installed()
definiert wurde oder nicht.