[RISOLTO] Problema di migrazione da 2.2.3 a 2.5

Domande sul server WAPT / Richieste e assistenza relative al server WAPT
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Bloccato
essaghir
Messaggi: 5
Iscrizioni: 7 febbraio 2024 - 10:58

7 febbraio 2024 - 11:09

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.
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

7 febbraio 2024 - 14:59

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
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
essaghir
Messaggi: 5
Iscrizioni: 7 febbraio 2024 - 10:58

7 febbraio 2024 - 15:57

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
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

7 febbraio 2024 - 17:44

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
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

8 febbraio 2024 - 12:11

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
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
essaghir
Messaggi: 5
Iscrizioni: 7 febbraio 2024 - 10:58

9 febbraio 2024 - 11:03

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,
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

9 febbraio 2024 - 12:02

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
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
Bloccato