2010-10-14 32 views
0

J'essaie de déployer mon application sur Rails pour la première fois en utilisant Heroku. J'ai passé beaucoup de temps mais il y a un écart quelque part.Déploiement des Rails élémentaires

Git: prise en pension privée créée, poussé à git avec succès
Heroku: créée application gratuite et poussé avec succès (mais app 'se plante')
Local:

rake db:schema:dump #success 
rake db:schema:load RAILS_ENV=production #failure: production database is not configured 
rake db:create db:load RAILS_ENV=production #failure: undefined method '[]' for nil:NilClass 
    active_record/railties/databases.rake:59:in 'rescue in create_database' 
    active_record/railties/databases.rake:39:in 'create_database' 

Mon fichier database.yml:

defaults: &defaults
adapter: mysql
username: root
password: password
host: localhost

development:
<<: *defaults
database: project_dev

test:
<<: *defaults
database: project_test


vient d'être ajouté:
production: <<: *defaults database: project_production

Je peut faire une erreur de recrue totale. Savez-vous où je pourrais me tromper?

+3

Où est l'environnement de production dans votre database.yml? – hellvinz

+0

HA! Parler d'une erreur de débutant. Je travaille à travers ceci et les suggestions ci-dessous. Voyons voir où ça va. – sscirrus

Répondre

1

Utilisez la commande heroku rake db:schema:load, qui exécute simplement la commande rake db:schema:load dans l'environnement d'Heroku.

Vous n'avez pas besoin de vous soucier des environnements de base de données, car ils sont automatiquement configurés par Heroku lors de la compilation du slug.

0

Les commandes rake que vous exécutez s'exécutent sur votre machine de développement. Si vous voulez exécuter des commandes de râteau sur le serveur, utilisez la commande Heroku (exemple):

heroku rake db:create 

Remarque, si vous voulez pousser les données, vous faites fausse route. Rendez-vous au heroku.com et regardez les documents ici.