2010-11-16 3 views
2

J'ai configuré une instance de base de données avec Amazon RDS et ai pointé mon environnement de production de mon application Rails dans le fichier database.yml. Il semble fonctionner correctement. Quelle est la meilleure façon de vérifier?Dois-je configurer mon serveur db sur Capistrano ainsi que ma base de données.yml

Dans ma recette Capistrano, le rôle de base de données est toujours défini sur mon serveur d'applications. C'est juste pour les tâches capistrano correctes? Dans une tâche Capistrano, si je migre l'application dans l'environnement de production, la migration de mon serveur RDS devrait-elle toujours être correcte?

run "rake db:migrate RAILS_ENV=production" 

Répondre

3

Vous avez raison dans votre hypothèse. Le rôle :db est simplement utilisé pour l'exécution de la tâche rake pour exécuter les migrations. Donc, si vous avez:

role :db, "ourmachine.com", :primary => true 

il exécutera la commande rake RAILS_ENV=production db:migrate uniquement sur la machine principale. Il utilise le fichier database.yml pour l'emplacement du serveur pendant la tâche de migration. Plusieurs fois le :db est le même que le :app puisqu'il peut exécuter les migrations.

Questions connexes