wake-up-neo.net

Erstellen der Rails 3.1-App mit der Postgresql-Datenbank (OSX Lion)

Ich kann keinen aktuellen Leitfaden für das Erstellen einer neuen Rails 3.1-App mit einer Postgresql-Datenbank finden. Ich würde mich sehr über einen Leitfaden durch diesen Prozess freuen.

28
neon

Seit Rails 3 ist das Framework vollständig datenbankunabhängig.

Das bedeutet, dass Sie nur 2 Dinge tun müssen:

  1. Fügen Sie den pg-Edelstein in Ihre Gemfile-Datei ein: gem 'pg'
  2. Stellen Sie sicher, dass Ihre database.yml-Datei postgresql als Adapter verwendet.

Sie können dies automatisch tun, wenn Sie eine neue App erstellen, indem Sie das Flag --database=postgresql anhängen:

Rails new myapp --database=postgresql

Wenn Sie die App jedoch bereits erstellt haben, kommentieren Sie einfach gem 'sqlite3' in Ihrer Gemfile aus, fügen Sie gem 'pg' hinzu, führen Sie bundle aus und ändern Sie dann Ihre database.yml-Datei, um den richtigen Adapter zu verwenden.

Natürlich müssen Sie auch PostgreSQL selbst installieren. Dies ist jedoch etwas, das Sie bei google leicht finden können.

69
bricker

Um auf Maurers Antwort einzugehen ... Nach dem Laufen:

$ Rails new myapp --database=postgresql

So sieht Ihre database.yml aus:

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:

Laufen:

$ bundle exec rake db:create:all

erstellt die Datenbanken für Sie, wenn Sie PostgreSQL installiert haben. Der einfachste Weg, PostgreSQL zu installieren, ist http://postgresapp.com/

23
Lance Fisher

Mit Rails 4 funktioniert die Antwort von bricker nicht, zumindest nicht für mich.

Dieser Befehl führt stattdessen den Trick aus:

 Rails new new_app --d = postgres
0
Starkers

Ich habe festgestellt, dass Sie entweder den Benutzernamen (oben im Beispiel - myapp) zur PostgreSQL-Datenbank hinzufügen oder den Benutzernamen in einen vorhandenen Benutzer ändern müssen. 

0
Keith