J’ai déjà migré avec succès un forum vers Disourcse à l’aide d’un script personnalisé, mais maintenant, lorsque je l’exécute à nouveau, j’obtiens l’erreur d’importation suivante :
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/postgresql_adapter.rb:81:in `rescue in new_client': We could not find your database: discourse. Which can be found in the database configuration file located at config/database.yml. (ActiveRecord::NoDatabaseError)
Pour résoudre ce problème :
- Avez-vous créé la base de données pour cette application, ou l'avez-vous supprimée ? Vous devrez peut-être créer votre base de données.
- Le nom de la base de données a-t-il changé ? Vérifiez que votre fichier config/database.yml contient le bon nom de base de données.
Pour créer votre base de données, exécutez :
bin/rails db:create
./launcher enter app
cd /var/www/discourse
bundle exec ruby script/import_scripts/avatar.rb
Je ne comprends pas vraiment l’erreur : je peux accéder à la base de données via sudo -u postgres psql discourse, ce qui valide que la base de données “discourse” existe. De plus, le site web fonctionne correctement. Lorsque j’ouvre rails c, je peux également accéder aux données.
Pouvez-vous me donner quelques pistes sur ce qui ne va pas ?
Discourse ne trouve pas sa base de données. Vous devez donc résoudre ce problème. S’agissait-il d’une installation standard ou d’une installation de développement ? Consultez le guide approprié et faites fonctionner Discourse comme première étape.
J’ai redémarré et cela n’a pas résolu le problème. Je rencontre maintenant le même problème sur ma machine locale (docker local)… ce qui me fait penser que j’exécute la commande d’une manière ou d’une autre incorrectement…
Et merci – je salue la rapidité de vos réponses et le soutien !
Hmm. Peut-être que quelque chose a changé, car je suis sûr de ne pas avoir exécuté de scripts d’importation en tant qu’utilisateur de Discourse. Bon travail !