Status: Veraltet
Dieser Artikel ist veraltet und wird nicht mehr gewartet.
Grund
Wir bieten jetzt aktuelle Anleitungen zur Verwendung von Rails mit Postgres, die auf individuelle Plattformen zugeschnitten sind.
Stattdessen anzeigen
Dieser Artikel kann immer noch als Referenz nützlich sein, entspricht jedoch möglicherweise nicht den aktuellen Best Practices. Wir empfehlen dringend, einen aktuellen Artikel für das von Ihnen verwendete Betriebssystem zu verwenden.
Einführung
Postgres (oder PostgreSQL) ist eine Open-Source-Datenbank. Ruby on Rails ist ein Open-Source-Webframework, das in Ruby geschrieben wurde. Rails ist datenbankagnostisch, was bedeutet, dass es mit einer Vielzahl verschiedener Datenbanken verwendet werden kann. Standardmäßig geht es davon aus, dass MySQL verwendet wird, aber es ist recht einfach, es stattdessen mit Postgres zu verwenden.
Dieser Leitfaden führt Sie durch die Erstellung einer Rails-Anwendung, die eine Postgres-Datenbank verwendet. Sie können den Leitfaden auf Ihrem lokalen Rechner oder einem VPS befolgen.
Installieren der Anforderungen
Installation von Rails mit RVM
Der einfachste Weg, Rails zu installieren, ist die Verwendung von RVM, das auch Ruby installiert. Um RVM zu installieren, müssen Sie sicherstellen, dass Ihr System curl installiert hat (wie Sie das tun, hängt von Ihrem Betriebssystem ab). Wenn Sie bereits RVM installiert haben, überspringen Sie den nächsten Abschnitt.
RVM kann Ruby und Rails automatisch im Rahmen seiner Installation installieren. Dazu führen Sie diesen Befehl aus:
\curl -L https://get.rvm.io | bash -s stable --rails
Hinweis: Sie sollten das RVM-Installationskript überprüfen, bevor Sie es ausführen (oder ein anderes entferntes Skript, das Sie in bash
einleiten).
RVM wird sich auf Ihrem System installieren. Sie können es nun verwenden, um Ihre Ruby-Versionen zu verwalten. Dies ist nützlich, da Sie möglicherweise verschiedene Ruby-Versionen für verschiedene Projekte benötigen. RVM hat auch das Rails-Gem für uns installiert.
Installation von Rails mit RubyGems
Wenn Sie bereits RVM installiert haben, müssen Sie es nicht erneut installieren. Stattdessen können Sie Rails einfach durch Installation des Gems installieren:
gem install rails
Dies installiert Rails und alle anderen benötigten Gems.
Postgres installieren
Die Methode zur Installation von Postgres hängt von Ihrem Betriebssystem ab. Siehe postgresql.org/download für eine vollständige Liste. Im Allgemeinen ist es am einfachsten, einen Paketmanager wie apt-get unter Ubuntu oder Homebrew unter OS X zu verwenden.
Wenn Sie Postgres auf einem lokalen Rechner installieren, möchten Sie möglicherweise auch eine GUI installieren (obwohl dieser Leitfaden die Verwendung der Befehlszeile voraussetzt). pgAdmin ist nicht das schönste Tool der Welt, aber es erledigt seinen Job.
Zum Schluss möchten Sie das pg Gem installieren, damit Sie mit Postgres aus Ruby-Code heraus interagieren können. Um dies zu tun:
gem install pg
Postgres einrichten
Erstellen Sie einen Postgres-Benutzer für die Rails-App, die wir im nächsten Schritt erstellen werden. Wechseln Sie dazu zum Postgres-Benutzer:
su - postgres
Danach greifen Sie auf Postgres zu:
psql
Dann erstellen Sie einen Benutzer (oder eine „Rolle“, wie Postgres es nennt):
create role myapp with createdb login password 'password1';
Ihre Rails-App erstellen
Um eine Rails-App zu erstellen, die für Postgres konfiguriert ist, führen Sie diesen Befehl aus:
rails new myapp --database=postgresql
Dies erstellt ein Verzeichnis namens „myapp“, in dem eine App namens „myapp“ liegt (Sie können es beliebig benennen, wenn Sie den Befehl ausführen). Rails erwartet, dass der Name des Datenbankbenutzers mit dem Namen der Anwendung übereinstimmt, aber Sie können das problemlos ändern, wenn nötig.
Wir werden nun konfigurieren, mit welcher Datenbank Rails kommunizieren soll. Dies erfolgt mithilfe der database.yml-Datei, die sich befindet unter:
RAILS_ROOT/config/database.yml
Hinweis: RAILS_ROOT ist das Rails-Stammverzeichnis. Im obigen Beispiel würde es sich unter /myapp befinden (relativ zu Ihrem aktuellen Standort).
Die database.yml-Datei wird von Rails verwendet, um sich mit der entsprechenden Datenbank für die aktuelle Rails-Umgebung zu verbinden. Sie verwendet YAML, einen Daten-Serialisierungsstandard. Hier sind einige Datenbanken für verschiedene Umgebungen aufgeführt: Entwicklung, Test und Produktion. Standardmäßig erwartet Rails für jede Umgebung eine andere Datenbank. Dies ist praktisch, weil z.B. die Testdatenbank jedes Mal, wenn Sie Rails-Tests ausführen, geleert und neu erstellt wird. Stellen Sie sicher, dass für jede Datenbank der Benutzername und das Passwort mit dem Benutzernamen und dem Passwort übereinstimmen, die Sie Ihrem Postgres-Benutzer gegeben haben.
Nach der Konfiguration sollte Ihre database.yml ungefähr so aussehen:
development:
adapter: postgresql
encoding: unicode
database: myapp_development
pool: 5
username: myapp
password: password1
test:
adapter: postgresql
encoding: unicode
database: myapp_test
pool: 5
username: myapp
password: password1
Dann können Sie ausführen:
rake db:setup
Dies erstellt Entwicklungs- und Testdatenbanken, setzt ihre Besitzer auf den angegebenen Benutzer und erstellt in jeder „schema_migrations“-Tabellen. Diese Tabelle wird verwendet, um Ihre Migrations zu Schemas und Daten aufzuzeichnen.
Das Ausführen von Rails
Sie sollten Ihre Rails-App jetzt starten können:
rails server
Wenn Sie zu localhost:3000 navigieren, sollten Sie eine Rails-Startseite sehen. Das macht jedoch nicht viel. Um mit unserer Datenbank zu interagieren, erstellen wir einen Gerüst:
rails g scaffold Post title:string body:text
rake db:migrate
Navigieren Sie nun zu localhost:3000/posts. Von hier aus können Sie neue Beiträge erstellen, vorhandene Beiträge bearbeiten und Beiträge löschen. Weitere Einführungsvorgänge finden Sie im Rails-Getting-Started-Handbuch.
Ihre Rails-App spricht jetzt mit einer Postgres-Datenbank!
Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-ruby-on-rails-with-postgres