So verwenden Sie PostgreSQL mit Ihrer Ruby on Rails-Anwendung unter Ubuntu 14.04

Einführung

Ruby on Rails verwendet sqlite3 als Standarddatenbank, was in vielen Fällen sehr gut funktioniert, für Ihre Anwendung jedoch möglicherweise nicht ausreicht. Wenn Ihre Anwendung die Skalierbarkeit, Zentralisierung und Steuerung (oder eine andere Funktion) erfordert, die von einer Client / Server-SQL-Datenbank bereitgestellt wird, z. B. https://www.digitalocean.com/community/tutorials/sqlite-vs-mysql- vs-postgresql-ein-Vergleich-von-relationalen-Datenbank-Management-Systemen [PostgreSQL oder MySQL], müssen Sie ein paar zusätzliche Schritte ausführen, um es zum Laufen zu bringen.

Dieses Tutorial zeigt Ihnen, wie Sie eine Ruby on Rails-Entwicklungsumgebung einrichten, mit der Ihre Anwendungen eine PostgreSQL-Datenbank auf einem Ubuntu 14.04-Server verwenden können. Zunächst wird erläutert, wie PostgreSQL installiert und konfiguriert wird. Anschließend zeigen wir Ihnen, wie Sie eine Rails-Anwendung erstellen, die PostgreSQL als Datenbankserver verwendet.

Voraussetzungen

Für dieses Tutorial ist eine funktionierende Ruby on Rails-Entwicklungsumgebung erforderlich. Wenn Sie das noch nicht haben, können Sie dem Tutorial in diesem Link folgen: https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-ubuntu -14-04 [So installieren Sie Ruby on Rails mit rbenv unter Ubuntu 14.04].

Sie müssen auch Zugriff auf einen Superuser oder ein "+ sudo +" - Konto haben, damit Sie die PostgreSQL-Datenbanksoftware installieren können.

Sobald Sie fertig sind, installieren wir PostgreSQL.

Installieren Sie PostgreSQL

Wenn Sie PostgreSQL noch nicht installiert haben, können Sie dies jetzt tun.

Aktualisieren Sie zunächst apt-get:

sudo apt-get update

Dann installieren Sie PostgreSQL und seine Entwicklungsbibliotheken:

sudo apt-get install postgresql postgresql-contrib libpq-dev

PostgreSQL ist jetzt installiert, Sie sollten jedoch einen neuen Datenbankbenutzer erstellen, den Ihre Rails-Anwendung verwenden wird.

Datenbankbenutzer erstellen

Erstellen Sie mit diesem Befehl einen PostgreSQL-Superuser-Benutzer (ersetzen Sie das hervorgehobene Wort durch Ihren eigenen Benutzernamen):

sudo -u postgres createuser -s

Wenn Sie ein Kennwort für den Datenbankbenutzer festlegen möchten, geben Sie den folgenden Befehl in die PostgreSQL-Konsole ein:

sudo -u postgres psql

Die PostgreSQL-Konsole wird durch die Eingabeaufforderung + postgres = # + gekennzeichnet. Geben Sie an der PostgreSQL-Eingabeaufforderung den folgenden Befehl ein, um das Kennwort für den von Ihnen erstellten Datenbankbenutzer festzulegen:

\password

Geben Sie an der Eingabeaufforderung Ihr gewünschtes Passwort ein und bestätigen Sie es.

Jetzt können Sie die PostgreSQL-Konsole beenden, indem Sie den folgenden Befehl eingeben:

\q

Erstellen wir jetzt eine Rails-Anwendung.

Neue Rails-Anwendung erstellen

Erstellen Sie eine neue Rails-Anwendung in Ihrem Home-Verzeichnis. Verwenden Sie die Option + -d postgresql +, um PostgreSQL als Datenbank festzulegen, und achten Sie darauf, das hervorgehobene Wort durch den Namen Ihrer Anwendung zu ersetzen:

cd ~
rails new  -d postgresql

Wechseln Sie dann in das Anwendungsverzeichnis:

cd

Im nächsten Schritt konfigurieren Sie die Datenbankverbindung der Anwendung.

Datenbankverbindung konfigurieren

Der von Ihnen erstellte PostgreSQL-Benutzer wird zum Erstellen der Test- und Entwicklungsdatenbank Ihrer Anwendung verwendet. Wir müssen die richtigen Datenbankeinstellungen für Ihre Anwendung konfigurieren.

Öffnen Sie die Datenbankkonfigurationsdatei Ihrer Anwendung in Ihrem bevorzugten Texteditor. Wir verwenden vi:

vi config/database.yml

Suchen Sie im Abschnitt "+ default +" die Zeile "pool: 5" und fügen Sie die folgenden Zeilen hinzu. Es sollte ungefähr so ​​aussehen (ersetzen Sie die markierten Teile durch Ihren PostgreSQL-Benutzer und Ihr Passwort):

config / database.yml Auszug

 host: localhost
 username:
 password:

Speichern und schließen.

Erstellen Sie Anwendungsdatenbanken

Erstellen Sie Ihre Anwendungs-Entwicklungs- und -Test-Datenbanken mit diesem Rake-Befehl:

rake db:create

Dadurch werden zwei Datenbanken auf Ihrem PostgreSQL-Server erstellt. Wenn der Name Ihrer Anwendung beispielsweise "Anwendungsname" lautet, werden Datenbanken mit den Namen "Anwendungsname_Entwicklung" und "Anwendungsname_Test" erstellt.

Wenn an dieser Stelle eine Fehlermeldung angezeigt wird, überprüfen Sie den vorherigen Unterabschnitt (Configure Database Connection), um sicherzustellen, dass die Zeichen + host +, + username + und + password + in + database.yml + korrekt sind. Versuchen Sie erneut, die Anwendungsdatenbanken zu erstellen, nachdem Sie sichergestellt haben, dass die Datenbankinformationen korrekt sind.

Konfiguration testen

Am einfachsten können Sie testen, ob Ihre Anwendung die PostgreSQL-Datenbank verwenden kann, indem Sie versuchen, sie auszuführen.

Verwenden Sie zum Ausführen der Entwicklungsumgebung (Standardeinstellung) beispielsweise den folgenden Befehl:

rails server

Dadurch wird Ihre Rails-Anwendung auf Ihrem lokalen Host auf Port 3000 gestartet.

Wenn sich Ihre Rails-Anwendung auf einem Remote-Server befindet und Sie über einen Webbrowser darauf zugreifen möchten, können Sie sie auf einfache Weise an die öffentliche IP-Adresse Ihres Servers binden. Suchen Sie zuerst die öffentliche IP-Adresse Ihres Servers und verwenden Sie sie dann mit dem Befehl "+ rail server +" (ersetzen Sie den hervorgehobenen Teil):

rails server --binding=

Jetzt sollten Sie in einem Webbrowser über die öffentliche IP-Adresse des Servers auf Port 3000 auf Ihre Rails-Anwendung zugreifen können:

Besuchen Sie in einem Webbrowser:

http://:3000

Wenn die Ruby on Rails-Seite "Willkommen an Bord" angezeigt wird, ist Ihre Anwendung ordnungsgemäß konfiguriert und mit der PostgreSQL-Datenbank verbunden.

Fazit

Sie können jetzt mit der Entwicklung Ihrer Ruby on Rails-Anwendung beginnen, die PostgreSQL als Datenbank für Ubuntu 14.04 enthält!

Viel Glück!