Natrag na blog

Postavljanje Ruby on Rails s PostgreSQL-om

Postavljanje Ruby on Rails s PostgreSQL-om

Među svim dostupnim pokretačima baza podataka, PostgreSQL jedan je od najpopularnijih. To je dobro poznati sustav baza podataka otvorenog koda poznat po svojoj pouzdanosti, robusnim značajkama i performansama. Budući da je PostgreSQL popularan izbor, podržavaju ga gotovo svi glavni web okviri. Slično kao i njegovi konkurenti MySQL i SQLite, PostgreSQL također ima svoje jake i slabe točke.

Ruby on Rails je popularan web okvir napisan u Ruby. To je okvir neovisan o bazi podataka, što znači da može raditi sa širokim rasponom baza podataka. Prema zadanim postavkama, Rails pretpostavlja SQL za funkcionalnosti baze podataka. Međutim, također podržava integraciju s PostgreSQL-om.

Ovaj vodič će vas voditi kroz postupak konfiguriranja PostgreSQL-a za vašu Ruby on Rails aplikaciju.

Ruby on Rails and PostgreSQL

I PostgreSQL i Ruby on Rails dostupni su na bilo kojoj UNIX/Linux distribuciji. Trebali bi biti dostupni sa zadanih poslužitelja paketa.

Alternativna metoda je korištenje RVM (Ruby Version Manager). To je namjenski alat za upravljanje instalacijama Ruby on Rails. Prednost ovog pristupa je što će RVM stvoriti lokalnu instalaciju Ruby on Rails. Također može upravljati s više verzija Rubyja i neprimjetno se prebacivati između njih. Evo vodiča koji detaljno opisuje korake Instalacija Ruby on Rails s RVM-om na Ubuntu.

Što se tiče PostgreSQL-a, pogledajte ovaj brzi vodič o instalaciji i konfiguraciji PostgreSQL-a na Ubuntuu.

  • Instalacija RVM-a

Postupak instalacije RVM-a prilično je jednostavan, zahvaljujući instalacijskoj skripti koju RVM nudi. Skripta je dizajnirana da automatski otkrije Linux sustav, a zatim preuzme i instalira sve potrebne pakete. Potrebni su nam RVM GPG ključevi za provjeru paketa. To osigurava da primljeni paketi nisu lažirani. Prvo dodajte RVM GPG ključeve:

gpg_recv_keys Ruby on Rails with PostgreSQL

Zatim pokrenite instalacijsku skriptu RVM-a:

install_rvm Ruby on Rails with PostgreSQL

Na kraju, provjerite instalaciju:

verify_install

  • Instalacija Railsa

Sada možemo koristiti RVM za instalaciju dodatnih komponenti. Instalirajte Rails okvir pomoću RVM-a:

gem_install_rails Ruby on Rails with PostgreSQL

  • Instalacija PostgreSQL-a

Sljedeći korak zahtijeva da PostgreSQL bude unaprijed instaliran na sustavu. Prema zadanim postavkama, najlakši način za instalaciju PostgreSQL-a je korištenje zadanog upravitelja paketa. Dostupan je za sve glavne Linux distribucije. Pogledajte stranicu za preuzimanje PostgreSQL-a za sve dostupne metode instalacije. Na Ubuntuu, sljedeće naredbe će konfigurirati PostgreSQL repozitorij i odmah ga instalirati:

postgresql_get

add_postgresql_keys

apt_and_postgresql_update Ruby on Rails with PostgreSQL

Kako bismo omogućili podršku za PostgreSQL, moramo instalirati pg gem. On omogućuje povezivanje s PostgreSQL-om iz Ruby koda:

gem_install_pg

  • Konfiguracija PostgreSQL-a

Nakon instalacije, konfigurirat ćemo alate koje ćemo morati koristiti za naše projekte. Prvo se prebacite na PostgreSQL korisnika:

Pristupite PostgreSQL ljusci:

psql Ruby on Rails with PostgreSQL

U kontekstu PostgreSQL-a, sada ćemo stvoriti novu ulogu (klasično poznatu kao korisnik). PostgreSQL ima vlastiti format uloga i dopuštenja. Ne zaboravite koristiti odgovarajuće korisničko ime i jaku lozinku:

create_role

Creating a Rails App

Recite Railsu da stvori novu Rails aplikaciju konfiguriranu za korištenje PostgreSQL-a za bazu podataka:

rails_new_dummy_app

Ovo će stvoriti novi direktorij s korisničkim imenom aplikacije. Rails općenito očekuje da korisničko ime baze podataka i naziv aplikacije budu isti. Sljedeći korak je konfiguracija Rails baze podataka. Konfiguracijska datoteka nalazi se na sljedećoj lokaciji:

Datoteka database.yml sadrži podatke koji opisuju odgovarajuću bazu podataka za trenutno Rails okruženje. Kao što naziv datoteke sugerira, koristi YAML. YAML je standard za serijalizaciju podataka prilagođen ljudima za sve programske jezike.

Prema zadanim postavkama, Rails očekuje različite baze podataka za različita okruženja, na primjer, development, test, i production. To je korisno u raznim situacijama, na primjer, Rails će isprazniti i ponovno izgraditi test bazu podataka svaki put kada se pokrene Rails test.

Evo primjera database.yml koji sadrži development i test baze podataka:

db_yaml

Sada je vrijeme da promjene stupe na snagu. Sljedeća naredba pripremit će potrebne baze podataka opisane u database.yml. Svaka baza podataka imat će svoje korisnike i schema_migrations tablice. Tablica je neophodna za migraciju podataka i sheme:

Ovaj korak neće uspjeti ako konfiguracijska datoteka za PostgreSQL pg_hba.conf sadrži neispravne konfiguracije. Datoteka se nalazi na sljedećoj lokaciji:

Sljedeći redak je cilj. Umjesto peer, metoda autentifikacije trebala bi biti md5:

Promijenite redak:

pg_hba_conf

Kako bi promjene stupile na snagu, morate ponovno pokrenuti PostgreSQL uslugu:

Zatim ponovno pokrenite postavljanje baze podataka:

rake_db_setup

Pokretanje Railsa

Pokretanje Rails poslužitelja zahtijeva sljedeću dodatnu komponentu. Imajte na umu da vam je za to potreban instaliran Node.js (s yarn):

webpacker_install

Rails aplikacija bi sada trebala biti spremna za pokretanje. Pokrenite Rails poslužitelj:

rails_server

Poslužitelj bi trebao biti dostupan s ove URL adrese. Otvorit će se početna stranica Railsa:

Kako biste početnu stranicu učinili zanimljivijom, stvorite scaffold:

create_scaffold

rakedb_migrate

Na kraju, pokrenite poslužitelj i ponovno idite na URL. Sada možemo upravljati objavama (stvaranje, uređivanje i brisanje objava).

Završne misli

Ovo je osnovno postavljanje Ruby on Rails s PostgreSQL-om. Postoji službeni vodič za početak koji će vam pomoći da dalje koristite Rails. Primjer aplikacije koju smo stvorili koristi PostgreSQL. Na taj način možete stvoriti bilo koju aplikaciju koja koristi PostgreSQL za svoje funkcionalnosti.

Sretno programiranje!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev je kreativni dizajner u CloudSigma, usredotočen na dosljedan poslovni identitet korištenjem tradicionalnih i inovativnih marketinških kanala. Vješt je u spajanju umjetničke vizije sa strateškim marketingom kako bi stvorio dojmljive brendirane priče.

Komentari

Još nema komentara. Budite prvi.