Pagina 1 di 1

[RISOLTO] Problema di migrazione da 2.2.3 a 2.5

Pubblicato: 7 febbraio 2024 - 11:09
di essaghir
Buongiorno,

ID distributore: Debian
Descrizione: Debian GNU/Linux 10 (buster)
Versione: 10
Nome in codice: buster
Postgres 11.2

La migrazione non è riuscita, con i log di seguito:

Codice: Seleziona tutto

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.
Puoi aiutarmi a risolvere il problema?

Grazie in anticipo per le vostre risposte.

Re: Problema di migrazione da 2.2.3 a 2.5

Pubblicato: 7 febbraio 2024 - 14:59
di dcardon
Ciao Mohamed,

Puoi verificare che sul tuo server sia effettivamente in esecuzione la versione 11 di PostgreSQL?
Quando si aggiorna un sistema Debian, la vecchia versione di Postgres non viene aggiornata automaticamente.

Codice: Seleziona tutto

sudo -u postgres psql template1
    SHOW server_version;

Il comando può essere corretto con un CAST, ma ciò non dovrebbe essere necessario su una versione di Postgres >=10...

Sinceramente,

Denis

Re: Problema di migrazione da 2.2.3 a 2.5

Pubblicato: 7 febbraio 2024 - 15:57
di essaghir
Ciao Denis,

Di seguito il risultato del comando:

Codice: Seleziona tutto

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)
Sembra essere la versione 11.

Sono disponibile per qualsiasi ulteriore informazione.

Sinceramente,
Maometto

Re: Problema di migrazione da 2.2.3 a 2.5

Pubblicato: 7 febbraio 2024 - 17:44
di dcardon
Ciao Mohamed,

siamo riusciti a riprodurre il problema internamente. La colonna è già di tipo varchar[] quando viene chiamata la funzione string_array... È piuttosto strano. Il problema si verifica solo durante l'aggiornamento dalla versione 2.2.3 alla 2.5, non dalla 2.3 alla 2.5. Ti terremo aggiornato.

Cordiali saluti,

Denis

Re: Problema di migrazione da 2.2.3 a 2.5

Pubblicato: 8 febbraio 2024 - 12:11
di dcardon
Ciao Mohamed,

In attesa di una build notturna, è possibile commentare le seguenti righe nel file /opt/wapt/waptserver/model.py (righe da 2673 a 2680). Questo problema riguarda gli utenti che effettuano l'aggiornamento da WAPT versione 2.2.3 o precedente. Non riguarda gli utenti che effettuano l'aggiornamento dalle versioni 2.3 o 2.4

Codice: Seleziona tutto

#    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,',');")
quindi riavviare il server wapt

Codice: Seleziona tutto

systemctl restart waptserver
Sinceramente,

Denis

Re: Problema di migrazione da 2.2.3 a 2.5

Pubblicato: 9 febbraio 2024 - 11:03
di essaghir
Ciao Denis,
grazie per il tuo aiuto. Con la modifica, la console si avvia nella versione 2.5.3.15292.

Tuttavia, quando eseguo "Build and send waptupgrade", ricevo un errore: "-0 is not a valid version string".

Hai qualche idea del perché?

Cordiali saluti,

Re: Problema di migrazione da 2.2.3 a 2.5

Pubblicato: 9 febbraio 2024 - 12:02
di dcardon
Ciao Mohamed,

grazie per il tuo feedback. La correzione per l'aggiornamento dalla versione 2.2.3 sarà disponibile nella prossima versione, la 2.5.4.

Per altre domande, ti preghiamo di aprire una nuova discussione (vedi le regole del forum: un argomento per discussione).

Contrassegno questa discussione come RISOLTA.

Cordiali saluti,

Denis