Wie Sie PostgreSQL mit Ihrer Ruby on Rails-Anwendung unter Ubuntu 16.04 verwenden können

Erfahren Sie, wie Sie PostgreSQL mit Ihrer Ruby on Rails-Anwendung anstelle der standardmäßigen SQLite-Datenbank verwenden können. SQLite ist ein einfach zu konfigurierendes, leichtes Produkt, das standardmäßig mit Ruby on Rails ausgeliefert wird. PostgreSQL ist jedoch eine robustere Lösung, die erweiterte Funktionen, Skalierung und Stabilität bietet, was es für Ihr Ruby on Rails-Projekt besser geeignet machen kann.

    Anforderungen

    • Ein Cloud Server unter Linux (Ubuntu 16.04)
    • PostgreSQL installiert und läuft.
    • Ruby on Rails installiert und läuft.
    • Eine grundlegende Vertrautheit mit Ruby on Rails.
    Hinweis

    Alle Befehle in diesem Tutorial müssen als Rails-Benutzer ausgegeben werden. Dies ist das Benutzerkonto, mit dem Sie Ruby on Rails installiert und ausgeführt haben.

    Erstellen eines PostgreSQL-Benutzers

    Erstellen Sie einen PostgreSQL-Benutzer, damit Ihre Ruby on Rails-Anwendung eine Verbindung zur PostgreSQL-Datenbank herstellen kann:

    sudo -u postgres createuser -s [username]
    Hinweis

    Dies sollte derselbe Benutzername sein, mit dem Sie Ruby on Rails installiert und ausgeführt haben.

    Um beispielsweise den PostgreSQL-Benutzernamen jdoe zu erstellen, lautet der Befehl:

    sudo -u postgres createuser -s jdoe

    Um ein Passwort für diesen Benutzer festzulegen, melden Sie sich am PostgreSQL-Kommandozeilen-Client an:

    sudo -u postgres psql

    Geben Sie an der PostgreSQL-Eingabeaufforderung den folgenden Befehl ein, um das Passwort festzulegen:

    \password [username]

    Um beispielsweise das Passwort für jdoe festzulegen, lautet der Befehl:

    \password jdoe

    Das Passwort eingeben und bestätigen. Verlassen Sie dann den PostgreSQL-Client:

    \q

    vServer (VPS) von IONOS

    Günstige und starke VPS für Webserver, Mailserver und eigene Anwendungen mit persönlichem Berater und 24/7 Support!

    100 % SSD-Speicher
    Bereit in 55 Sek.
    SSL Zertifikat

    Konfigurieren der Rails-Anwendung

    Der nächste Schritt ist die Aktivierung der PostgreSQL-Unterstützung in Ihrer Ruby on Rails-Anwendung.

    Erstellen der Anwendung

    Erstellen Sie zunächst die Anwendung mit dem Flag -d postgresql:

    rails new [application name] -d postgresql

    Beispielsweise lautet der Befehl zum Erstellen einer Anwendung mit dem Namen my-app:

    rails new my-app -d postgresql

    Das Flag -d teilt Ruby on Rails mit, dass Sie PostgreSQL für diese Anwendung verwenden werden.

    Fügen Sie den PostgreSQL-Benutzernamen und das Passwort hinzu.

    Als nächstes wechseln Sie in das Verzeichnis, das Ruby on Rails für die Anwendung erstellt hat:

    cd my-app

    Bearbeiten Sie die Datei config/database.yml:

    nano config/database.yml

    Scrollen Sie nach unten zu dem Abschnitt, der lautet:

    # The specified database role being used to connect to postgres.
    # To create additional roles in postgres see `$ createuser --help`.
    # When left blank, postgres will use the default role. This is
    # the same name as the operating system user that initialized the database.
    #username: my-app2

    Löschen Sie das # in der letzten Zeile, um den Kommentar aufzuheben, und ändern Sie den Benutzernamen in den von Ihnen erstellten:

    # The specified database role being used to connect to postgres.
    # To create additional roles in postgres see `$ createuser --help`.
    # When left blank, postgres will use the default role. This is
    # the same name as the operating system user that initialized the database.
    username: jdoe

    Löschen Sie im nächsten Abschnitt die #, um die letzte Zeile zu entfernen, und fügen Sie das Passwort für den jdoe-Benutzer hinzu:

    # The password associated with the postgres role (username).
    password: XPmMxZf

    Speichern und beenden Sie die Datei.

    Erstellen der neuen Anwendungsdatenbanken

    Verwenden Sie den folgenden Rake-Befehl, um die Datenbanken für Ihre Anwendung zu erstellen:

    rake db:create

    Testen der Konfiguration

    Um die Konfiguration zu testen, starten Sie einfach die rails-Anwendung und überprüfen Sie sie in einem Browser.

    Verwenden Sie den Befehl aus dem Verzeichnis der Anwendung:

    bin/rails s --binding=0.0.0.0 
    Hinweis

    Wenn Sie den Server an 0.0.0.0.0.0 binden, können Sie die Anwendung mit der öffentlichen IP-Adresse Ihres Servers anzeigen.

    Der Server sollte antworten:

    [user@localhost my-app]$ bin/rails server
    => Booting Puma
    => Rails 5.0.0.1 application starting in development on http://localhost:3000
    => Run `rails server -h` for more startup options
    Puma starting in single mode...
    * Version 3.6.0 (ruby 2.3.1-p112), codename: Sleepy Sunday Serenity
    * Min threads: 5, max threads: 5
    * Environment: development
    * Listening on tcp://localhost:3000
    Use Ctrl-C to stop

    Wechseln Sie zu einem Browser und besuchen Sie http://your-ip-address:3000. Wenn deine IP-Adresse beispielsweise 198.162.0.1 lautet, gehst du zu http://198.162.0:3000.

    Wenn alles in Ordnung ist und Rails in der Lage ist, sich mit PostgreSQL zu verbinden, sehen Sie die standardmäßige Rails-Grußseite.


    Auf dem Laufenden bleiben?

    Jetzt für unseren Newsletter anmelden und gratis Online-Marketing Whitepaper für lokale Anbieter sichern!