DBUpgrade-Mechanismus: umgekehrte Abhängigkeiten mit »required_by« angeben können
Existierender Mechanismus mit »depends« sagt: die Scripte in »depends«müssen ausgeführt werden, bevor ich selber ausgeführt werde.
Mit »required_by« kann man das Umgekehrte angeben: ich selber muss...
Datenbankupgrades: Unterstützung für einzelne Updates mit Superuser-Rechten
Setzt man den neuen Tag `@superuser_privileges` auf 1, so schautkivitendo vor dem Einspielen aller Upgrades nach, ob der konfigurierteDatenbankuser Superuser-Rechte hat. Falls nicht, wird die Benutzer*in...
SL::DBUpgrade2: unbenutzte Funktion `update2_available` entfernen
Datenbankupgrades: unbekannte Control-Felder als Fehler werten
DB-Upgrade: Dauer jedes Upgrade-Scripts timen
Typos in POD
Startup: Include-Pfade mittels FindBin ermitteln
Neue Perl-Versionen werden das aktuelle Verzeichnis '.' aus demStandard-Include-Pfad @INC entfernen. Das bedeutet für uns, dass wirnicht mehr einfach »use SL::Dispatcher;« und ähnliche Konstrukte machenkönnen....
DBUpgrade2: single-dbh
Betrifft das Surrogat-dbh-handling in db-upgrades.
Der alte Code versucht $::form->get_standard_dbh mit dem Upgrade Handlezu überschreiben, damit Code der im Upgrade läuft das benutzen kann. Dasgeht mit dem SL::DB->client handling nicht....
DBUpgrade: temporäre dbh Behandlung
get_standard_dbh entfernt und auf SL::DB->client->dbh umgebogen
SQL-Fehler falls -- in quotiertem String vorkommt.
z.B. In dem script steht folgende ZeileINSERT INTO partstypes values(0,'-------','-','f','f','f');
da aber in SL/DBUpgrade2.pm generell alle Zeilenteile die -- haben,weggeworfen werden:
s/--.*$;
wird der Rest der Datei nach Quote Ende durchsucht und nix mehr passiert....
Dispatcher: end_of_request() sub aus main namespace verbannt
DBUpgrade2: may_fail für reine sql Queries auch honorieren.
DBUpgrade: form komplett zurückspeichern
DBUpgrade: Pfad überladbar machen
DBUpgrade: lxdebug Statements entfernt
So kann es aus scripts/ aufgerufen werden.
DBUpgrade: locales parsen
SL::DBUpgrade2: Dateien direkt als UTF-8 öffnen und SL::IConv nicht nutzen
SL::DBUpgrade2: Doppelten Code entfernen
SL::DBUpgrade2: versehentlich eingesetzten Value entfernt
Siehe 8f7283f501b3ddc2809d073b5d0399d20ed5af06.
DBUpgrade2: verhindern, dass $::form->get_standard_dbh eine zweite Verbindung öffnet
Ansonsten sind Deadlocks absolut möglich.
Commit nach DB-Upgrade auch, wenn AutoCommit aus ist
DBUpgrade2: Option zum Zurückgeben eines Fehlers bei DB-Upgrades anstelle von print&exit
Alten DB-Upgrademechnismus sql/Pg-upgrade entfernt
Alle ISO-8859-15-codierten Files nach UTF-8 encodieren
Unterstützung für andere Datenbankencodings als Unicode/UTF-8 entfernt
Locking in eigenes Modul verschieben
Alle Vorkommen von dbdriver, sid, Oracle entfernt
...und gegen das hardcodierte Werte für PostgreSQL ersetzt.
Perl-Upgrade-Files: Nach Exception Rollback & bei Erfolg immer 1 zurückgeben
Exceptions sind vorher nach oben gebubblet, da $result undefwar. $result // 1 ist nun mal 1, was überhaupt keinen Sinn ergibt --und dadurch wurde kein Rollback gemacht (geschweige denn die...
Pod Fehler
$::form nach Perl-Upgrade-Script-Ausführung resetten
Siehe 87eebe6 für Begründung.
Perl-DB-Upgradescripte refactoring: Bugfix #1
Perl-Datenbank-Upgradescripte auf Objektorientierung & strict umgestellt
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
SQL-File-Parsing: Off-by-one in $$ ... $$-Syntax für stored procedures behoben
dbupgrade script kann jetzt auch upgrade scripte erzeugen.
scripts/dbupgrade2_tool.pl --create=<tag> --type=<sql|pl>
speichert die Datei unter dem richtigen Namen, und öffnet sie in $EDITOR
SL::DBUpgrade bug fixes
DBUpgrade kann jetzt auch dollar quoting in SQL.
SQL-Upgrade: '@encoding' als Alias für '@charset' erkennen
POD-Dokumentation zu SL::DBUpgrade2
Schreibfehler in Parametername
Iconv get_converter in interne Funktion umbenannt, und den einzigen externen Aufruf durch ein SL::Iconv->new ersetzt.
Erklärung: cbd1249e5c245ee605c32c6cdbdc1e26f92643d0 hat die Handle imObjektzugriff von SL::Iconv gecacht, hat dabei aber das Verhalten im...
Globale Variablen für Systemeinstellungen und Features nach %::lx_office_conf verschoben
Betroffen sind: $webdav $vertreter $lizenzen $show_best_before $parts_show_image $parts_image_css $parts_listing_images $eur $dbcharset $language
SL::DBUtils für Perl-Upgradescripte einbinden
Debugmeldungen entfernt
Auth-DB auch bei Benutzerlogins aktualisieren, sofern notwendig
Admin-DB-Upgrade-Funktion nach DBUpgrade2 verschoben
DB-Upgrade-Mechanismus für auth-Scripte im Verzeichnis sql/Pg-upgrade2-auth implementiert
DRY
Funktionen update_available, update2_available nach DBUpgrade2.pm verschoben
Kosmetik & Codevereinfachung
Suffix & Schema übergeben
new bekommt Hash-Params, nicht positionsbezogene
Funktion "process_perl_script" von User.pm nach DBUpgrade2.pm verschoben
Funktion "process_query" von User.pm nach DBUpgrade2.pm verschoben
Umstellung DBUpgrade2-Modul auf Objekt-Aufrufsyntax
Und wieder ein Schwung strict.
DBUpgrade such routine im trace runtergesetzt.
Eine Option "@ignore: 1" für Datenbankupgradescripte, mit denen das Script von Lx-Office ignoriert wird. Kann benutzt werden, um ein Script temporär zu deaktivieren, z.B. wenn man noch am Entwickeln ist.
Kosmetik
Änderungen zur Unterstützung von anderen Zeichensätzen als ISO-8859-1(5) implementiert. Es ist jetzt möglich, $dbcharset in lx-erp.conf auf UTF-8 zu setzen und dann auch UTF-8 als Datenbankencoding zu benutzen.
Bug: "my" variable $form masks earlier declaration in same scope at SL/DBUpgrade2.pm
Zyklencheck war falsch.
Neuer Datenbankupgrademechanismus: Die Upgradedateien im neuen Verzeichnis sql/Pg-upgrade2 enthalten Informationen über Abhängigkeiten, die von Lx-Office ausgewertet werden, um die Reihenfolge zu bestimmen, in der Updates angewandt werden. Wird nicht mehr über Versionsnummern geregelt.