J'ai un hôte chez Linode et j'essaie d'exécuter une tâche Rake dessus, mais je reçois une erreur mySQL disant qu'il ne peut pas se connecter. On dirait qu'il pense que c'est en dev. J'ai fait une recherche sur Google et j'ai vu que je pouvais faire quelque chose comme ça:
bundle exec Rails c
Il charge l'environnement de développement et je ne peux pas exécuter User.all
me donnant une erreur d'accès refusé.
Si je lance bundle exec Rails c Rails_ENV=production
J'obtiens l'erreur:
Rails.env=production database is not configured (ActiveRecord::AdapterNotSpecified)
Cependant, si j'y accède via le Web, tout va bien. J'ai pu exécuter rake db:seed
avant donc je sais qu'il y a un moyen de contourner ça.
L'accès à mySQL avec les informations d'identification de production fonctionne très bien.
Des idées?
Essaye ça:
Rails c production
ou, au début:
Rails_ENV=production Rails c
Il pense que vous passez Rails_ENV=production
comme argument lorsque vous le mettez à la fin.
Si vous souhaitez exécuter votre console dans le contexte du bundle actuel dans votre Gemfile et vous assurer que vous utilisez votre utilisation de Gemset:
bundle exec Rails c production
Cela fonctionne pour moi. Cela dépend de la configuration de votre serveur et de toutes ses dépendances:
Rails_ENV=production bundle exec Rails console