Je n'arrive pas à trouver un guide à jour pour créer une nouvelle application Rails 3.1 avec une base de données Postgresql. J'apprécierais grandement un guide à travers ce processus.
Depuis Rails 3, le framework est totalement indépendant de la base de données.
Cela signifie que tout ce que vous avez à faire est de 2 choses:
pg
dans votre Gemfile: gem 'pg'
database.yml
utilise postgresql
comme adaptateur.Vous pouvez le faire automatiquement lorsque vous créez une nouvelle application en ajoutant l'indicateur --database=postgresql
:
Rails new myapp --database=postgresql
Mais si vous avez déjà créé l'application, commentez simplement gem 'sqlite3'
dans votre Gemfile, ajoutez-y gem 'pg'
, exécutez bundle
, puis modifiez votre fichier database.yml
pour qu'il utilise l'adaptateur approprié.
Bien sûr, il va sans dire que vous devrez également installer PostgreSQL, mais c’est quelque chose que vous pouvez facilement trouver sur Google.
Pour élaborer sur la réponse de bricker ... Après avoir exécuté:
$ Rails new myapp --database=postgresql
Voici à quoi ressemblera votre database.yml:
development:
adapter: postgresql
encoding: unicode
database: myapp_development
pool: 5
username: myapp
password:
test:
adapter: postgresql
encoding: unicode
database: myapp_test
pool: 5
username: myapp
password:
production:
adapter: postgresql
encoding: unicode
database: myapp_production
pool: 5
username: myapp
password:
Fonctionnement:
$ bundle exec rake db:create:all
créera les bases de données pour vous si vous avez installé PostgreSQL. Le moyen le plus simple d'installer PostgreSQL est http://postgresapp.com/
A partir de Rails 4, la réponse de bricker ne fonctionne pas, du moins pas pour moi.
Cette commande fait l'affaire à la place:
Rails new new_app --d = postgres
J'ai constaté que vous devez soit ajouter le nom d'utilisateur, dans l'exemple ci-dessus - myapp, à la base de données PostgreSQL, ou changer le nom d'utilisateur pour un utilisateur existant.