Status: Verouderd
Dit artikel is verouderd en wordt niet langer onderhouden.
Reden
We bieden nu bijgewerkte tutorials voor het gebruik van Rails met Postgres die zijn afgestemd op individuele platforms.
Zie in plaats daarvan
Dit artikel kan nog steeds nuttig zijn als referentie, maar werkt mogelijk niet of volgt niet de beste werkwijzen. We raden ten zeerste aan om een recent artikel te gebruiken dat is geschreven voor het besturingssysteem dat u gebruikt.
Introductie
Postgres (of PostgreSQL) is een open source database. Ruby on Rails is een open source web framework geschreven in Ruby. Rails is database-agnostisch, wat betekent dat het kan worden gebruikt met verschillende databases. Standaard gaat het ervan uit dat MySQL wordt gebruikt, maar het is vrij eenvoudig om in plaats daarvan Postgres te gebruiken.
Deze handleiding zal je stap voor stap door het proces leiden van het maken van een Rails applicatie die een Postgres database gebruikt. Je kunt de handleiding volgen op je lokale machine of een VPS.
Vereisten installeren
Het installeren van Rails met behulp van RVM
De gemakkelijkste manier om Rails te installeren is met behulp van RVM, dat ook Ruby installeert. Om RVM te installeren, moet je ervoor zorgen dat je systeem curl geïnstalleerd heeft (hoe je dit doet, hangt af van je besturingssysteem). Als je RVM al hebt geïnstalleerd, ga dan naar de volgende sectie.
RVM kan Ruby en Rails automatisch installeren als onderdeel van zijn installatie. Voer hiervoor dit commando uit:
\curl -L https://get.rvm.io | bash -s stable --rails
Opmerking: je zou het RVM-installatiescript moeten controleren voordat je het uitvoert (of een ander extern script dat je naar bash
doorstuurt).
RVM zal zichzelf op je systeem installeren. Nu kun je het gebruiken om je Ruby-versies te beheren. Dit is handig omdat je mogelijk verschillende versies van Ruby nodig hebt voor verschillende projecten. RVM heeft ook de Rails-gem voor ons geïnstalleerd.
Het installeren van Rails met behulp van RubyGems
Als je al RVM hebt geïnstalleerd, hoef je het niet opnieuw te installeren. In plaats daarvan kun je eenvoudig Rails installeren door de gem te installeren:
gem install rails
Dit zal Rails en eventuele andere benodigde gems installeren.
Postgres installeren
De methode om Postgres te installeren is afhankelijk van je besturingssysteem. Zie postgresql.org/download voor een volledige lijst. Over het algemeen is het het gemakkelijkst om een pakketbeheerder te gebruiken, zoals apt-get op Ubuntu of Homebrew op OS X.
Als je Postgres op een lokale machine installeert, wil je misschien ook een GUI installeren (hoewel deze handleiding uitgaat van het gebruik van de commandoregel). pgAdmin is niet de mooiste tool ter wereld, maar het doet zijn werk.
Tenslotte wil je de pg gem installeren zodat je kunt communiceren met Postgres vanuit Ruby code. Om dat te doen:
gem install pg
Postgres instellen
Maak een Postgres gebruiker aan voor de Rails app die we in de volgende stap zullen maken. Om dit te doen, schakel over naar de Postgres gebruiker:
su - postgres
Daarna toegang krijgen tot Postgres:
psql
Vervolgens een gebruiker (of een “rol”, zoals Postgres het noemt) aanmaken:
create role myapp with createdb login password 'password1';
Je Rails App aanmaken
Om een Rails app te maken geconfigureerd voor Postgres, voer je deze opdracht uit:
rails new myapp --database=postgresql
Dit maakt een map genaamd “myapp” aan waarin een app met de naam “myapp” wordt geplaatst (je kunt het elke gewenste naam geven bij het uitvoeren van de opdracht). Rails verwacht dat de naam van de databasegebruiker overeenkomt met de naam van de applicatie, maar je kunt dat eenvoudig wijzigen indien nodig.
We zullen nu configureren met welke database Rails zal communiceren. Dit wordt gedaan met behulp van het bestand database.yml, te vinden op:
RAILS_ROOT/config/database.yml
Let op: RAILS_ROOT is de hoofdmap van Rails. In het bovenstaande voorbeeld zou dit zijn op /myapp (relatief aan je huidige locatie).
Het bestand database.yml wordt door Rails gebruikt om verbinding te maken met de juiste database voor de huidige Rails-omgeving. Het maakt gebruik van YAML, een standaard voor gegevensserialisatie. Er worden hier een paar databases vermeld voor verschillende omgevingen; ontwikkeling, test en productie. Standaard verwacht Rails een andere database voor elke omgeving. Dit is handig omdat bijvoorbeeld de testdatabase elke keer dat je Rails-tests uitvoert wordt leeggemaakt en opnieuw wordt opgebouwd. Zorg ervoor dat voor elke database de gebruikersnaam en het wachtwoord overeenkomen met de gebruikersnaam en het wachtwoord die je aan je Postgres-gebruiker hebt gegeven.
Eenmaal geconfigureerd, zou je database.yml iets moeten bevatten als dit:
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
Je kunt vervolgens uitvoeren:
rake db:setup
Dit zal ontwikkelings- en testdatabases maken, hun eigenaren instellen op de gespecificeerde gebruiker, en “schema_migrations”-tabellen in elk maken. Deze tabel wordt gebruikt om je migraties naar schema’s en gegevens vast te leggen.
Het uitvoeren van Rails
Je zou nu je Rails-applicatie moeten kunnen starten:
rails server
Als je naar localhost:3000 navigeert, zou je een Rails landingspagina moeten zien. Dit doet echter niet veel. Om te communiceren met onze database, laten we een scaffold maken:
rails g scaffold Post title:string body:text
rake db:migrate
Navigeer nu naar localhost:3000/posts. Vanaf hier kun je nieuwe berichten maken, bestaande berichten bewerken en berichten verwijderen. Zie de Rails handleiding voor beginners voor meer inleidende bewerkingen.
Je Rails-applicatie communiceert nu met een Postgres-database!
Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-ruby-on-rails-with-postgres