Sto eseguendo quella che sembra essere un’importazione di vbulletin 4 con alcuni milioni di post. Il server su cui la sto eseguendo è molto lento (gli utenti importavano a circa 50/minuto quando ho rinunciato). Una stima approssimativa suggerisce che ci vorranno 3 mesi.
Quindi darò un’altra possibilità allo script di importazione bulk. Eseguo normali script di importazione in un container di produzione. Lo stesso container che stava eseguendo felicemente lo script standard non può accedere al database Discourse. Ma il bulk importer vuole accedere a /var/run/postgresql/.s.PGSQL.5432 piuttosto che utilizzare le cose che la produzione e lo script di importazione regolare utilizzano. Quindi aggiungo questo a web_only.yml.
- volume:
host: /var/discourse/shared/data/postgres_run
guest: /var/run/postgresql
E ora posso accedere a postgres.
Ma poi, non riesco ad accedere a mysql. Le stesse credenziali che funzionano nello script regolare e che funzionano all’interno del container dalla riga di comando di mysql non funzionano. Ottengo un accesso negato. Ho aggiunto un puts per vedere che le credenziali erano tutto ciò che era previsto, e lo sono, ma il codice dello script regolare:
@client =
Mysql2::Client.new(host: DB_HOST, username: DB_USER, password: DB_PW, database: DB_NAME)
funziona bene, ma questo
@client =
Mysql2::Client.new(
host: host,
username: username,
password: password,
database: database,
reconnect: true,
)
No. Ho controllato, e
puts "#{username}:#{password}@#{host}/#{database}"
puts "PASSWORD: #{password.inspect}"
mostrano tutto come previsto.
Devo eseguirlo in un ambiente di sviluppo? (Perché?)
Sono piuttosto perplesso su come la connessione mysql funzioni nel client mysql e nello script di importazione regolare, ma non nello script bulk. Il codice sembra lo stesso. Non vedo nulla su mysql negli script base.rb.
O forse la macchina è infestata.