Comment correctement l'installation d'une base de données.fichier yml dans les Rails 4
Je suis curieux de savoir comment configurer correctement mon database.yml
fichier dans un des Rails 4.
Ce n'est pas quelque chose que j'ai vraiment regardé dans les détails, comme tout semble juste travail lors du déploiement de Heroku, mais je tiens à le comprendre maintenant, et ont remarqué que le format a changé un peu de Rails 4.0 à 4.1. Par exemple
4.0.2
development:
adapter: mysql2
encoding: utf8
database: my_app_development
pool: 5
username: root
password:
test:
adapter: mysql2
encoding: utf8
database: my_app_test
pool: 5
username: root
password:
production:
adapter: mysql2
encoding: utf8
database: ymca_gym_production
pool: 5
username: root
password:
4.1.0
default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: root
password:
socket: /var/run/mysqld/mysqld.sock
development:
<<: *default
database: my_app_development
test:
<<: *default
database: my_app_test
# On Heroku and other platform providers, you may have a full connection URL
# available as an environment variable. For example:
#
# DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase"
#
# You can use this database configuration with:
#
# production:
# url: <%= ENV['DATABASE_URL'] %>
#
production:
<<: *default
database: my_app_production
username: my_app
password: <%= ENV['MY_APP_DATABASE_PASSWORD'] %>
Mes questions sont les
- Dois-je mettre les noms d'utilisateur et mots de passe dans TOUS les milieux?
- Je suis en utilisant ClearDB sur Heroku que ma base de données. Dois-je utiliser
url: <%= ENV['DATABASE_URL'] %>
pour la production que les commentaires suggèrent?
salut les Riches, ne ma réponse de l'aide? Si oui, prière d'indiquer accepté 🙂 merci
OriginalL'auteur Richlewis | 2014-05-07
Vous devez vous connecter pour publier un commentaire.
La deuxième base de données.yml que vous avez posté est en fait équivalente à la première, il ne fait que copier les valeurs du développement de bloc.
Pour répondre à vos autres questions:
1) dois-je mettre les noms d'utilisateur et mots de passe dans TOUS les environnements
vous pouvez si vous le souhaitez, ou vous pouvez le laisser comme vous l'avez fait ci-dessus où il faut que les informations d'identification à partir d'un seul bloc.
2)Si je suis clair DB avec Heroku que ma base de données alors que je devrais être décommentant
heroku en fait complètement abstraction de ce fichier (qui ne devrait pas être vérifiée dans le contrôle de code source, en premier lieu, de toute façon). Heroku a son propre mécanisme pour gérer des bases de données qui vous pouvez en lire plus ici: https://devcenter.heroku.com/articles/heroku-postgresql
Essentiellement, traiter "heroku de bases de données" et les bases de données locales que vous définissez dans ce fichier de complètement différent.
database.yml
: devcenter.heroku.com/articles/ruby-support#build-behaviorNotez également que, selon la section "Connexion dans les Rails", Heroku ne pas remplacer
database.yml
pour les applications sur des Rails 4.2 ou supérieur, puisqu'ils prennent en charge la spécification d'une URL de connexion.OriginalL'auteur derekyau