Impossibile ripristinare/aggiornare discourse (PG::InvalidTextRepresentation: ERRORE: sintassi di input non valida per il tipo integer: "[]")

Ciao!

Ho un’istanza in esecuzione su 2.9.0.beta4 e ho avuto la necessità di migrarla, quindi ho eseguito il backup/ripristino di base, ma il ripristino è fallito sulla nuova istanza. Ho deciso quindi di provare ad aggiornare l’istanza originale, ma anche questo è fallito. Entrambi sono falliti, apparentemente per lo stesso motivo, durante il comando db:migrate.

Errore di aggiornamento: https://pastebin.com/raw/sQrnMe27
Errore di ripristino: https://pastebin.com/raw/idWYmEFq

Grazie per l’aiuto!

2 Mi Piace

Sembra possa essere un :bug:

Questo mi sembra sia nel core, ma la domanda standard è: hai plugin non standard?

1 Mi Piace

No, è una vanilla :slight_smile:

Ho riscontrato un errore simile sul mio sito di test dove avevo alcuni dati errati nella mia impostazione del sito selectable_avatar, e ho dovuto aggiornarla tramite la console di Rails.

Ti senti a tuo agio nell’usare la console di Rails? Se sì, potresti eseguire questo e vedere cosa dice:

SiteSetting.where(data_type:17)

4 Mi Piace

Non sono sicuro di averlo fatto correttamente, ma ecco cosa ottengo:

=> #<ActiveRecord::Relation [#<SiteSetting id: 56, name: "selectable_avatars", data_type: 17, value: "[]", created_at: "2022-06-07 04:30:35.458837000 +0000", updated_at: "2022-06-08 08:14:54.196037000 +0000">]>
2 Mi Piace

Penso che dovresti essere in grado di eseguire di nuovo SiteSetting.selectable_avatars = \"\" (dalla console rails), e poi essere a posto per una ricostruzione.

6 Mi Piace

Attualmente, sto ricostruendo e ho appena superato il comando stressante di migrazione del database, quindi immagino che questo sia risolto.
Grazie a entrambi per il vostro rapido aiuto!

2 Mi Piace

Sembra che tu ci sia riuscito! Dovresti vedere se riesci ad attirare l’attenzione su questo, perché sono abbastanza sicuro che la migrazione dovrebbe migrare quegli avatar selezionabili nel nuovo formato.

2 Mi Piace

Lo fa, e ha funzionato in tutti gli altri casi che abbiamo visto. [] non è un valore valido, nemmeno nel vecchio formato, quindi questo caso particolare è piuttosto sorprendente. Forse è rimasto da qualche lavoro manuale sulla console, o da un’importazione errata :thinking:

Se riceviamo altri rapporti, saremo sicuri di aggiungere una correzione automatica per questo caso.

2 Mi Piace

Ah. Giusto. Di solito, quando ricevo quell’errore, è perché ho sbagliato qualcosa e stavo accedendo alla variabile sbagliata o qualcosa del genere. Ma forse era quello lo stato in cui era rimasto dopo che tutti gli altri erano stati eliminati. Ma, davvero, non stavo prestando abbastanza attenzione. :wink:

1 Mi Piace

Le nostre impostazioni di ‘lista’ sono un’interfaccia utente minimale su stringhe delimitate da pipe, quindi in teoria una lista vuota dovrebbe essere memorizzata come una stringa vuota. Ma fai un’ottima osservazione: forse qualcuno stava cercando di svuotare la lista e ha fatto accidentalmente qualcosa del genere:

pry(main)> SiteSetting.selectable_avatars = []
=> []
pry(main)> SiteSetting.selectable_avatars
=> "[]"

(questo è con il vecchio formato. Il nuovo formato ha validazioni per impedire ciò, anche dalla console)

1 Mi Piace

Beh, nel nostro caso, il forum è stato configurato all’inizio di questo mese e non c’è stata alcuna interazione con la console (né importazioni). Infatti, oggi ho scoperto la console di rails :smile:

2 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.