Terug naar blog

Ruby on Rails opzetten met PostgreSQL

Ruby on Rails opzetten met PostgreSQL

Van alle beschikbare database-engines is PostgreSQL een van de meest populaire. Het is een bekend open-source databasesysteem dat bekend staat om zijn betrouwbaarheid, robuuste functies en prestaties. Omdat PostgreSQL een populaire keuze is, wordt het door bijna alle grote webframeworks ondersteund. Net als zijn concurrenten MySQL en SQLite heeft PostgreSQL ook zijn sterke en zwakke punten.

Ruby on Rails is een populair webframework geschreven in Ruby. Het is een database-agnostisch framework, wat betekent dat het met een grote verscheidenheid aan databases kan werken. Standaard gaat Rails uit van SQL voor databasefunctionaliteiten. Het ondersteunt echter ook PostgreSQL-integratie.

Deze handleiding zal je door het proces leiden van het configureren van PostgreSQL voor je Ruby on Rails-applicatie.

Ruby on Rails and PostgreSQL

Zowel PostgreSQL als Ruby on Rails zijn beschikbaar op elke UNIX/Linux-distributie. Ze zouden beschikbaar moeten zijn via de standaard pakketservers.

Een alternatieve methode is het gebruik van RVM (Ruby Version Manager). Het is een speciale tool om Ruby on Rails-installaties te beheren. Het voordeel van deze aanpak is dat RVM een lokale installatie van Ruby on Rails zal maken. Het kan ook meerdere versies van Ruby beheren en er naadloos tussen schakelen. Hier is een handleiding die de stappen beschrijft van Ruby on Rails installeren met RVM op Ubuntu.

Wat betreft PostgreSQL, bekijk deze snelle gids over het installeren en configureren van PostgreSQL op Ubuntu.

  • RVM installeren

Het installatieproces van RVM is vrij eenvoudig, dankzij het installatiescript dat RVM aanbiedt. Het script is ontworpen om het Linux-systeem automatisch te detecteren en vervolgens alle benodigde pakketten te downloaden en te installeren. We hebben de RVM GPG-sleutels nodig om pakketten te verifiëren. Dit zorgt ervoor dat de ontvangen pakketten niet zijn vervalst. Voeg eerst de RVM GPG-sleutels toe:

gpg_recv_keys Ruby on Rails with PostgreSQL

Voer vervolgens het RVM-installatiescript uit:

install_rvm Ruby on Rails with PostgreSQL

Controleer ten slotte de installatie:

verify_install

  • Rails installeren

We kunnen nu RVM gebruiken om extra componenten te installeren. Installeer het Rails-framework met behulp van RVM:

gem_install_rails Ruby on Rails with PostgreSQL

  • PostgreSQL installeren

Voor de volgende stap moet PostgreSQL vooraf op het systeem zijn geïnstalleerd. Standaard is de eenvoudigste manier om PostgreSQL te installeren het gebruik van de standaard pakketbeheerder. Het is beschikbaar voor alle grote Linux-distributies. Bekijk de PostgreSQL-downloadpagina voor alle beschikbare installatiemethoden. Op Ubuntu zullen de volgende commando's de PostgreSQL-repository configureren en deze meteen installeren:

postgresql_get

add_postgresql_keys

apt_and_postgresql_update Ruby on Rails with PostgreSQL

To enable PostgreSQL support, we need to install the pg gem. It enables interfacing with PostgreSQL from Ruby code:

gem_install_pg

  • PostgreSQL configureren

Na de installatie configureren we de tools die we voor onze projecten moeten gebruiken. Schakel eerst over naar de PostgreSQL-gebruiker:

Open de PostgreSQL-shell:

psql Ruby on Rails with PostgreSQL

In de context van PostgreSQL maken we nu een nieuwe role aan (klassiek bekend als gebruiker). PostgreSQL heeft zijn eigen indeling van rollen en machtigingen. Vergeet niet een geschikte gebruikersnaam en een sterk wachtwoord te gebruiken:

create_role

Een Rails-app maken

Vertel Rails om een nieuwe Rails-app te maken die is geconfigureerd om PostgreSQL te gebruiken voor de database:

rails_new_dummy_app

Dit zal een nieuwe map maken met de gebruikersnaam van de app. Rails verwacht over het algemeen dat de gebruikersnaam van de database en de app-naam hetzelfde zijn. De volgende stap is het configureren van de Rails-databaseconfiguratie. Het configuratiebestand bevindt zich op de volgende locatie:

Het bestand database.yml bevat de gegevens die de juiste database voor de huidige Rails-omgeving beschrijven. Zoals de bestandsnaam al doet vermoeden, maakt het gebruik van YAML. YAML is een mensvriendelijke standaard voor gegevensserialisatie voor alle programmeertalen.

Standaard verwacht Rails verschillende databases voor verschillende omgevingen, bijvoorbeeld development, test, en production. Dit is handig in verschillende situaties, Rails zal bijvoorbeeld de test database leegmaken en opnieuw opbouwen telkens wanneer een Rails-test wordt uitgevoerd.

Hier is een voorbeeld database.yml dat de development en test databases bevat:

db_yaml

Het is nu tijd om de wijzigingen door te voeren. Het volgende commando zal de benodigde databases voorbereiden die worden beschreven in database.yml. Elke database zal zijn eigen gebruikers hebben en schema_migrations tabellen hebben. De tabel is noodzakelijk voor data- en schemamigratie:

Deze stap zal mislukken als het PostgreSQL-configuratiebestand pg_hba.conf onjuiste configuraties bevat. Het bestand bevindt zich op de volgende locatie:

De volgende regel is het doel. In plaats van peer, moet de authenticatiemethode md5:

Wijzig de regel:

pg_hba_conf

Om de wijzigingen door te voeren, moet u de PostgreSQL-service herstarten:

Voer vervolgens de database-setup opnieuw uit:

rake_db_setup

Rails uitvoeren

Het uitvoeren van de Rails-server vereist de volgende aanvullende component. Let op dat u hiervoor Node.js geïnstalleerd moet hebben (met yarn):

webpacker_install

De Rails-app zou nu klaar moeten zijn om te starten. Start de Rails-server:

rails_server

De server zou toegankelijk moeten zijn via de volgende URL. Deze zal uitkomen op de landingspagina van Rails:

Om de landingspagina spannender te maken, maakt u een scaffold:

create_scaffold

rakedb_migrate

Start ten slotte de server en navigeer opnieuw naar de URL. We kunnen nu berichten beheren (berichten maken, bewerken en verwijderen).

Tot slot

Dit is een basisconfiguratie van Ruby on Rails met PostgreSQL. Er is een officiële handleiding om aan de slag te gaan die u zal helpen Rails verder te gebruiken. De voorbeeld-app die we hebben gemaakt, maakt gebruik van PostgreSQL. Op deze manier kunt u elke app maken die PostgreSQL gebruikt voor zijn functionaliteiten.

Veel computerplezier!

author

Pranay Kapgate

Auteur · CloudSigma

Preslav Dobrev is een creatief ontwerper bij CloudSigma, met de nadruk op een consistente bedrijfsidentiteit door middel van traditionele en innovatieve marketingkanalen. Hij is bedreven in het samenvoegen van artistieke visie met strategische marketing om impactvolle merkverhalen te creëren.

Reacties

Nog geen reacties. Wees de eerste.