28 votes

Création d'une application Rails 3.1 avec une base de données Postgresql (OSX Lion)

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 sur ce processus.

69voto

bricker Points 6213

Depuis Rails 3, le framework est totalement indépendant des bases de données.

Ce que ça veut dire, c'est que tout ce que vous avez à faire, c'est 2 choses :

  1. Inclure le pg gem dans votre Gemfile : gem 'pg'
  2. Assurez-vous que votre database.yml utilise postgresql comme adaptateur.

Vous pouvez le faire automatiquement lorsque vous créez une nouvelle application en ajoutant l'attribut --database=postgresql drapeau :

rails new myapp --database=postgresql

Mais si vous avez déjà créé l'application, alors il suffit de commenter gem 'sqlite3' dans votre Gemfile, ajoutez dans gem 'pg' , courir bundle puis modifiez votre database.yml pour utiliser le bon adaptateur.

Bien sûr, il va de soi que vous devrez également installer PostgreSQL lui-même, mais c'est quelque chose que vous pouvez facilement trouver sur Google.

23voto

Lance Fisher Points 13547

Pour développer la réponse de Bricker... Après avoir couru :

$ 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:

En cours d'exécution :

$ 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 le suivant http://postgresapp.com/

0voto

Keith Points 6

J'ai découvert que vous devez soit ajouter le nom d'utilisateur, dans l'exemple ci-dessus - myapp, à la base de données PostgreSQL, soit changer le nom d'utilisateur pour un utilisateur existant.

0voto

Starkers Points 781

À 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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X