Vox Populi(x) forum

Alexandria Book Library => Supporto (Support) => Topic started by: AntonioGreco on 24 May 2024, 17:49:40

Title: Esportazione e importazione da due versione diverse di Mysql
Post by: AntonioGreco on 24 May 2024, 17:49:40
Salve, ho un grosso problema e spero che possiate aiutarmi!
Ho installato Joomla 5.1.0 e installato il pacchetto

- com_abook 4.0.3Beta Last update: 29 Dec 2023 (Beta version for Joomla! 4 and Joomla! 5)
- mod_abook_allinone 4.0.3Beta Last update: 29 Dec 2023 (Beta version for Joomla! 4 and Joomla! 5)
- plg_finder_abook_4_0_3Beta plg_finder_abook 4.0.3Beta Last update: 29 Dec 2023 (Beta version for
  Joomla! 4 and Joomla! 5)
- plg_content_loadbook_4_0_3Beta plg_content_loadbook 4.0.3Beta Last update: 29 Dec 2023 (Beta version
  for Joomla! 4 and Joomla! 5)

tutte le installazioni sono andate a buon fine.

1) Da joomla 3.8.7 (Versione database Mysql 5.5) ho esportato il file .sql attraverso il componente Alexandria

2) Su Joomla 5.1.0 (Versione database Mysql 8.0) ho importato questo file .sql

mi da continui errori come ad es:

1062 Duplicate entry '1' for key 'joshh_abauthor.PRIMARY'
oppure
1366 Incorrect integer value: " for column 'userid' at row 1


Dal supporto del server mi dicono che questo problema potrebbe essere causato dalla diversa struttura dei dati del vecchio e del nuovo database del componente e che una soluzione sarebbe quella di inserire manualmente prima di ogni link https://www.ibs.it dove ci sono le virgolette il valore "0". Tuttavia risultano non presenti anche i valori del campo language che non accetta valori nulli. La regola è contare i campi prima di VALUES e impostare il valore dopo il valore VALUES contando i campi.

Ma come posso ovviare a questo problema?

E' quasi impossibile impostare tutti i campi vuoti manualmente poichè sono tantissimi.

Mi potreste aiutare?

Vi ringrazio!
Antonio
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: federica on 26 May 2024, 21:31:42
Ciao Antonio,
la funzione di import/export è fatta per esportare e importare i dati all'interno della stessa versione di Abook.
Nel tuo caso la versione di Abook non è la stessa su entrambi i siti. Tra le due versioni sono cambiati alcuni campi del database.

Se sei pratico di Mysql potresti copiare le vecchie tabelle di Abook nel nuovo database e applicare le modifiche delle varie versioni fino alla più recente.

Ho visto che mi hai scritto in privato e ti ho risposto prima di leggere questo post.
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: AntonioGreco on 27 May 2024, 06:56:34
Ciao Federica,
ti ringrazio molto per la tua risposta!
Ho installato la nuova versione  (compatibile su J4 eJ5 beta) e l'installazione è andata benissimo, le tabelle della nuova versione sono state create senza problemi.
In quest'ultima versione mi sono accorto infatti che ci sono delle variazioni come ad es. la presenza del  campo "lang" nella tabella "_abbook" che prima non c'era e alcuni campi come "pag_index", in corrispondenza di "predefinito", è impostato su "0" mentre prima era impostato su "NULL".

Ho scaricato su excell tutte le tabelle della precedente versione e tutte le tabelle della nuova per capire quali modifiche apportare direttamente sulle tabelle del nuovo Db in modo di non avere problemi in fase di importazione del bk.

Spero funzioni così!  :)

Ti ringrazio e ti auguro una buona giornata!

Antonio
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: AntonioGreco on 27 May 2024, 07:33:52
Quote from: AntonioGreco on 27 May 2024, 06:56:34Ciao Federica,
ti ringrazio molto per la tua risposta!
Ho installato la nuova versione  (compatibile su J4 eJ5 beta) e l'installazione è andata benissimo, le tabelle della nuova versione sono state create senza problemi.
In quest'ultima versione mi sono accorto infatti che ci sono delle variazioni come ad es. la presenza del  campo "lang" nella tabella "_abbook" che prima non c'era e alcuni campi come "pag_index", in corrispondenza di "predefinito", è impostato su "0" mentre prima era impostato su "NULL".

Ho scaricato su excell tutte le tabelle della precedente versione e tutte le tabelle della nuova per capire quali modifiche apportare direttamente sulle tabelle del nuovo Db in modo di non avere problemi in fase di importazione del bk.

Spero funzioni così!  :)

Ti ringrazio e ti auguro una buona giornata!

Antonio


A tal proposito vorrei chiederti una cosa:

Sto modificando il campo "pag_index" in corrispondenza della colonna "predefinito che prima era "NULL" e adesso "0". Ho fatto la query

ALTER TABLE `joshh_abbook` CHANGE `pag_index` `pag_index` INT NULL DEFAULT NULL;

Ma resta sempre a "0" . come posso modificarla?


Ti rirgrazio!
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: federica on 27 May 2024, 10:18:19
Bene! Mi fa piacere sapere che tu sia riuscito a migrare i dati.

La query che hai eseguito non cambia nulla perchè trasforma il valore di default da NULL a NULL
La query corretta deve trasformare il valore di default a "0", così:
ALTER TABLE `#__abbook` CHANGE `pag_index` `pag_index` INT(4) NULL DEFAULT 0;
Sostituisci "#_" con il tuo prefisso.
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: AntonioGreco on 27 May 2024, 11:23:52
Ciao Federica,
purtroppo non sono ferrato con Sql!
ho fatto come mi hai detto ma mi restituisce questo errore:

Messaggio di MySQL:

#1067 - Invalid default value for 'checked_out_time'
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: federica on 27 May 2024, 12:25:49
Il comando per cambiare il campo "pag_index" è andato a buon fine, adesso l'errore lo da sul campo "checked_out_time".
La nuova versione di Mysql si aspetta che i campi abbiano un valore di default, bisogna correggerli tutti in base agli errori che ricevi.
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: AntonioGreco on 27 May 2024, 12:42:58
Ciao Federica,
ci sono riuscito ad esportare e importare la tebella _abbook (per adesso) e tutti i testi sono stati caricati!

Grazie di tutto!

Antonio
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: federica on 27 May 2024, 12:51:21
Bene!
Fai una prova salvando tutti i tipi di contenuto di Abook (libri, categorie, autori, ecc...).
Potresti incontrare altri errori di mysql ma basta correggerli come hai fatto per i precedenti.
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: AntonioGreco on 27 May 2024, 14:32:22
Ho esportato e i e tre le tabelle dal vecchio al nuovo db ed è andato tutto bene! Ho fatto in confronto da frontend nel pannello di controllo del componente e c'è tutto.

Non ho capito bene il fatto di salvare tutti i tipi di contenuto. In che senso?
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: AntonioGreco on 27 May 2024, 16:36:33
Quote from: AntonioGreco on 27 May 2024, 14:32:22Ho esportato e i e tre le tabelle dal vecchio al nuovo db ed è andato tutto bene! Ho fatto in confronto da frontend nel pannello di controllo del componente e c'è tutto.

Non ho capito bene il fatto di salvare tutti i tipi di contenuto. In che senso?


Scusa volevo dire tutte e 13 le tabelle...
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: federica on 27 May 2024, 17:11:32
QuoteNon ho capito bene il fatto di salvare tutti i tipi di contenuto. In che senso?
Intendevo dire che per fare un bel controllo puoi creare un nuovo libro o salvarne uno esistente da joomla. Fai la stessa cosa anche per le categorie, gli autori, ecc...
Se dovessero saltare fuori altri errori di mysql li correggi impostando il valore di default.
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: AntonioGreco on 27 May 2024, 21:21:59
Ciao Federica,
si in effetto ho fatto una prova a modificare un testo già inserito e mi ha restituito questo errore:


Salvataggio fallito con il seguente errore: Parent ID non valido.

Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: AntonioGreco on 27 May 2024, 21:25:41
Quote from: AntonioGreco on 27 May 2024, 21:21:59Ciao Federica,
si in effetto ho fatto una prova a modificare un testo già inserito e mi ha restituito questo errore:


Salvataggio fallito con il seguente errore: Parent ID non valido.



Nel pannello di controllo infatti, sotto sistema -> database -> Alexandria Book Library mi da questi errori:

Problema

Un Problema
La tabella 'joshh_abbook' ha il tipo o gli attributi sbagliati per la colonna 'pag_index' di tipo int. (Dal file 3.1.6.sql.)
La tabella 'joshh_abbook' ha il tipo o gli attributi sbagliati per la colonna 'year' di tipo int. (Dal file 4.0.0.sql.)
La tabella 'joshh_abbook' ha il tipo o gli attributi sbagliati per la colonna 'user_id' di tipo int. (Dal file 4.0.0.sql.)
La tabella 'joshh_ablend' ha il tipo o gli attributi sbagliati per la colonna 'user_id' di tipo int. (Dal file 4.0.0.sql.)
La tabella 'joshh_abbook' ha il tipo o gli attributi sbagliati per la colonna 'userid' di tipo int. (Dal file 4.0.2.sql.)
La tabella 'joshh_abbook' ha il tipo o gli attributi sbagliati per la colonna 'lang' di tipo VARCHAR(255). (Dal file 4.0.2.sql.)

Sono state controllate 2 modifiche al database.
19 modifiche al database non hanno alterato la struttura delle tabelle e sono state ignorate.
4.0.2   
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: AntonioGreco on 27 May 2024, 21:35:02
Quote from: AntonioGreco on 27 May 2024, 21:25:41
Quote from: AntonioGreco on 27 May 2024, 21:21:59Ciao Federica,
si in effetto ho fatto una prova a modificare un testo già inserito e mi ha restituito questo errore:


Salvataggio fallito con il seguente errore: Parent ID non valido.



Nel pannello di controllo infatti, sotto sistema -> database -> Alexandria Book Library mi da questi errori:

Problema

Un Problema
La tabella 'joshh_abbook' ha il tipo o gli attributi sbagliati per la colonna 'pag_index' di tipo int. (Dal file 3.1.6.sql.)
La tabella 'joshh_abbook' ha il tipo o gli attributi sbagliati per la colonna 'year' di tipo int. (Dal file 4.0.0.sql.)
La tabella 'joshh_abbook' ha il tipo o gli attributi sbagliati per la colonna 'user_id' di tipo int. (Dal file 4.0.0.sql.)
La tabella 'joshh_ablend' ha il tipo o gli attributi sbagliati per la colonna 'user_id' di tipo int. (Dal file 4.0.0.sql.)
La tabella 'joshh_abbook' ha il tipo o gli attributi sbagliati per la colonna 'userid' di tipo int. (Dal file 4.0.2.sql.)
La tabella 'joshh_abbook' ha il tipo o gli attributi sbagliati per la colonna 'lang' di tipo VARCHAR(255). (Dal file 4.0.2.sql.)

Sono state controllate 2 modifiche al database.
19 modifiche al database non hanno alterato la struttura delle tabelle e sono state ignorate.
4.0.2   

Ho anche provato ad inserire un libro ma non mi fa fare nulla, mi da sempre lo stesso errore..

Inoltre nel frontend, quando clicco su un libro a caso , non mi fa vedere la copertina del libro

Come posso sistemare questi problemi?

Ti ringrazio!
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: AntonioGreco on 28 May 2024, 06:43:19
Quote from: AntonioGreco on 27 May 2024, 21:35:02
Quote from: AntonioGreco on 27 May 2024, 21:25:41
Quote from: AntonioGreco on 27 May 2024, 21:21:59Ciao Federica,
si in effetto ho fatto una prova a modificare un testo già inserito e mi ha restituito questo errore:


Salvataggio fallito con il seguente errore: Parent ID non valido.



Nel pannello di controllo infatti, sotto sistema -> database -> Alexandria Book Library mi da questi errori:

Problema

Un Problema
La tabella 'joshh_abbook' ha il tipo o gli attributi sbagliati per la colonna 'pag_index' di tipo int. (Dal file 3.1.6.sql.)
La tabella 'joshh_abbook' ha il tipo o gli attributi sbagliati per la colonna 'year' di tipo int. (Dal file 4.0.0.sql.)
La tabella 'joshh_abbook' ha il tipo o gli attributi sbagliati per la colonna 'user_id' di tipo int. (Dal file 4.0.0.sql.)
La tabella 'joshh_ablend' ha il tipo o gli attributi sbagliati per la colonna 'user_id' di tipo int. (Dal file 4.0.0.sql.)
La tabella 'joshh_abbook' ha il tipo o gli attributi sbagliati per la colonna 'userid' di tipo int. (Dal file 4.0.2.sql.)
La tabella 'joshh_abbook' ha il tipo o gli attributi sbagliati per la colonna 'lang' di tipo VARCHAR(255). (Dal file 4.0.2.sql.)

Sono state controllate 2 modifiche al database.
19 modifiche al database non hanno alterato la struttura delle tabelle e sono state ignorate.
4.0.2   

Ho anche provato ad inserire un libro ma non mi fa fare nulla, mi da sempre lo stesso errore..

Inoltre nel frontend, quando clicco su un libro a caso , non mi fa vedere la copertina del libro

Come posso sistemare questi problemi?

Ti ringrazio!


Mi sono accorto anche che nel passaggio alla nuova versione non sono stati trasferiti i link esterni (acquista su....).
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: federica on 28 May 2024, 10:08:19
Come ti dicevo bisogna applicare tutte le modifiche al database.
Se hai copiato le tabelle vecchie sul database nuovo i link esterni non possono essere spariti.
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: AntonioGreco on 28 May 2024, 12:18:41
Ciao Federica, nella vecchia versione ogni testo conteneva due link (con relativa etichetta) esterni.
Nella nuova versione si vede un solo link (senza etichetta relativa) che punta su feltrinelli anzichè sul sito della libreria

Ti invio di seguito l'url di un testo della vecchia versione e della nuova.

Vecchia:
https://www.edizioniefesto.it/collane/de-ortibus-et-occasibus/704-100-anni-co-giggetto

Nuova:
https://efesto.edizioniefesto.it/testJ5/index.php/libri?view=book&id=704:100-anni-co-giggetto&catid=25:de-ortibus-et-occasibus

Dal menù opzioni del componente ho settato tutto ma non riesco a visualizzarli.

Ti ringrazio!
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: federica on 28 May 2024, 17:07:26
Vedo che nel vecchio sito ci sono due immagini diverse per i link. Forse è stata fatta una personalizzazione.

Controlla che nel nuovo database i campi dei due link siano compilati e verifica che l'opzione "Link to" sia abilitata nella configurazione generale, nel menu e nel libro.

Se nel database mancano i dati dei link allora potresti importare solo quelle colonne dal vecchio database.
Title: Re: Esportazione e importazione da due versione diverse di Mysql
Post by: AntonioGreco on 30 May 2024, 10:41:46
Ciao Federica, ho fatto tutte l modifiche ma quando provo a modificare e/o inserire un nuovo libro mi restituisce l'errore:

"Salvataggio fallito con il seguente errore: Parent ID non valido"

Cosa può provocare questo errore?

Grazie!