Ho configurato tutto e ho provato a importare flarum_import.rb. Ma dice thimira@THIMIRA:~/discourse/script/import_scripts$ bundle exec ruby flarum_import.rb
Traceback (most recent call last):
1: from flarum_import.rb:3:in <main>'
Al giorno d’oggi non è necessario aggiungere manualmente queste gem al Gemfile, sono già presenti. Devi solo abilitarle usando IMPORT=1 davanti al tuo comando.
La mia esperienza è che se fai IMPORT=1 ottieni un sacco di errori se non hai installato tutte le dipendenze per tutte le cose di importazione aggiuntive, e alcune di queste sono difficili da capire.
Allora potrebbe funzionare. È quello che proverò dopo; per un po’ ho creato i miei template per installare quelle dipendenze, ma spero di aver scoperto che non ne avevo mai avuto bisogno.
Ci ho provato ma la sua configurazione ha un prefisso per le tabelle del database e lo script non ha un’impostazione per il prefisso. Gli ho chiesto di rinominare le tabelle e riproverò.
. . . ma i modelli di import aggiungono la Gem al Gemfile, quindi se provi a usare IMPORT=1 ottieni
[!] Si è verificato un errore durante l'analisi di `Gemfile`: Non è possibile specificare la stessa gemma due volte con requisiti di versione diversi.
Hai specificato: sqlite3 (~> 1.3, >= 1.3.13) e sqlite3 (>= 0). Bundler non può continuare.
# da /var/www/discourse/Gemfile:272
# -------------------------------------------
# gem 'mysql2'
> gem 'sqlite3'
# gem 'tiny_tds'
# -------------------------------------------
Poiché il Gemfile specifica una versione e il modello no.
Quindi, dopo averci provato duramente, non trovo un modo per rendere utile IMPORT=1. Immagino che funzionerebbe su un’istanza di sviluppo in cui hai installato tutte quelle dipendenze nel sistema operativo, o hai creato manualmente un modo per installare le dipendenze in un container.
Oh, ma l’importazione mbox fa molto di più che installare sqlite3, quindi non è una buona cosa da fare a meno che tu non voglia davvero importare un mbox.
Forse invierò una PR per un modello di importazione sqlite3.
sto riscontrando questo errore quando provo a eseguire lo script con IMPORT=1
1: from /home/user/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:28:in `require' /home/user/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/zeitwerk-2.5.4/lib/zeitw erk/loader/callbacks.rb:25:in `on_file_autoloaded': si aspettava che il file /home/user/disco urse/lib/freedom_patches/ip_addr.rb definisse la costante FreedomPatches::IPAddr, ma non l'ha fatto (Zeitwerk:: NameError)