Seite 1 von 1

[GELÖST] Migrationsproblem von Version 2.2.3 auf 2.5

Veröffentlicht: 7. Februar 2024 - 11:09 Uhr
von essaghir
Guten Morgen,

Distributor-ID: Debian
Beschreibung: Debian GNU/Linux 10 (buster)
Version: 10
Codename: Buster
Postgres 11.2

Die Migration ist fehlgeschlagen. Die Protokolle sind unten aufgeführt:

Code: Alle auswählen

2024-02-07 10:52:53,126 INFO Migrating from 2.4.0.0 to 2.4.2.0
Traceback (most recent call last):
  File "/opt/wapt/lib/python3.8/site-packages/peewee.py", line 3144, in execute_sql
    cursor.execute(sql, params or ())
psycopg2.errors.UndefinedFunction: function string_to_array(character varying[], unknown) does not exist
LINE 1: ...kages ALTER COLUMN target_os TYPE varchar[] USING string_to_...
                                                             ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/opt/wapt/waptserver/model.py", line 2677, in upgrade_db_structure
    wapt_db.execute_sql("ALTER TABLE packages ALTER COLUMN target_os TYPE varchar[] USING string_to_array(target_os,',');")
  File "/opt/wapt/lib/python3.8/site-packages/peewee.py", line 3151, in execute_sql
    self.commit()
  File "/opt/wapt/lib/python3.8/site-packages/peewee.py", line 2917, in __exit__
    reraise(new_type, new_type(exc_value, *exc_args), traceback)
  File "/opt/wapt/lib/python3.8/site-packages/peewee.py", line 190, in reraise
    raise value.with_traceback(tb)
  File "/opt/wapt/lib/python3.8/site-packages/peewee.py", line 3144, in execute_sql
    cursor.execute(sql, params or ())
peewee.ProgrammingError: function string_to_array(character varying[], unknown) does not exist
LINE 1: ...kages ALTER COLUMN target_os TYPE varchar[] USING string_to_...
                                                             ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
Können Sie mir bitte bei der Fehlersuche helfen?

Vielen Dank im Voraus für Ihre Antworten.

Betreff: Migrationsproblem von Version 2.2.3 auf 2.5

Veröffentlicht: 7. Februar 2024 – 14:59 Uhr
von dcardon
Hallo Mohamed,

Können Sie bestätigen, dass auf Ihrem Server tatsächlich PostgreSQL Version 11 läuft?
Beim Upgrade eines Debian-Systems wird die alte Version von Postgres nicht automatisch aktualisiert.

Code: Alle auswählen

sudo -u postgres psql template1
    SHOW server_version;

Der Befehl kann mit einem CAST korrigiert werden, dies sollte aber bei einer Postgres-Version >=10 nicht mehr nötig sein...

Aufrichtig,

Denis

Betreff: Migrationsproblem von Version 2.2.3 auf 2.5

Veröffentlicht: 7. Februar 2024 – 15:57 Uhr
von essaghir
Hallo Denis,

Nachfolgend das Ergebnis des Befehls:

Code: Alle auswählen

could not change directory to "/root": Permission denied
psql (11.22 (Debian 11.22-0+deb10u1))
Type "help" for help.

template1=# SHOW server_version;
         server_version
--------------------------------
 11.22 (Debian 11.22-0+deb10u1)
Es scheint Version 11 zu sein.

Für weitere Informationen stehe ich Ihnen gerne zur Verfügung.

Aufrichtig,
Mohamed

Betreff: Migrationsproblem von Version 2.2.3 auf 2.5

Veröffentlicht: 7. Februar 2024 - 17:44 Uhr
von dcardon
Hallo Mohamed,

wir konnten das Problem intern reproduzieren. Die Spalte ist bereits vom Typ varchar[], wenn die Funktion string_array aufgerufen wird. Das ist ziemlich seltsam. Das Problem tritt nur beim Upgrade von Version 2.2.3 auf 2.5 auf, nicht umgekehrt. Wir halten dich auf dem Laufenden.

Viele Grüße,

Denis

Betreff: Migrationsproblem von Version 2.2.3 auf 2.5

Veröffentlicht: 8. Februar 2024 - 12:11 Uhr
von dcardon
Hallo Mohamed,

Während Sie auf einen Nightly Build warten, können Sie die folgenden Zeilen in der Datei `/opt/wapt/waptserver/model.py` (Zeilen 2673 bis 2680) auskommentieren. Dieses Problem betrifft Benutzer, die von WAPT Version 2.2.3 oder älter aktualisieren. Benutzer, die von Version 2.3 oder 2.4 aktualisieren, sind nicht betroffen

Code: Alle auswählen

#    next_version = '2.4.2.0'
#    if get_db_version() < next_version:
#        with wapt_db.atomic():
#            logger.info("Migrating from %s to %s" % (get_db_version(), next_version))
#            wapt_db.execute_sql("ALTER TABLE packages ALTER COLUMN target_os TYPE varchar[] USING string_to_array(target_os,',');")
#            wapt_db.execute_sql("ALTER TABLE packages ALTER COLUMN licence TYPE varchar[] USING string_to_array(licence,',');")
#            wapt_db.execute_sql("ALTER TABLE packages ALTER COLUMN locale TYPE varchar[] USING string_to_array(locale,',');")
#            wapt_db.execute_sql("ALTER TABLE packages ALTER COLUMN architecture TYPE varchar[] USING string_to_array(architecture,',');")
Starten Sie anschließend den WAP-Server neu

Code: Alle auswählen

systemctl restart waptserver
Aufrichtig,

Denis

Betreff: Migrationsproblem von Version 2.2.3 auf 2.5

Veröffentlicht: 9. Februar 2024 - 11:03 Uhr
von essaghir
Hallo Denis,
vielen Dank für deine Hilfe. Nach der Änderung startet die Konsole in Version 2.5.3.15292.

Wenn ich jedoch „Build and send waptupgrade“ ausführe, erhalte ich die Fehlermeldung: „-0 ist keine gültige Versionszeichenfolge“.

Hast du eine Idee, woran das liegen könnte?

Mit freundlichen Grüßen,

Betreff: Migrationsproblem von Version 2.2.3 auf 2.5

Veröffentlicht: 9. Februar 2024 - 12:02 Uhr
von dcardon
Hallo Mohamed,

vielen Dank für Ihr Feedback. Die Fehlerbehebung für das Upgrade von Version 2.2.3 wird in der nächsten Version 2.5.4 verfügbar sein.

Bei weiteren Fragen eröffnen Sie bitte einen neuen Thread (siehe Forenregeln: ein Thema pro Thread).

Ich markiere diesen Thread als GELÖST.

Viele Grüße,

Denis