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:
|
1 |
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB |

Zatim pokrenite instalacijsku skriptu RVM-a:
|
1 |
curl -sSL https://get.rvm.io | bash -s stable --rails |

Na kraju, provjerite instalaciju:
|
1 |
type rvm | head -n 1 |
-
Instalacija Railsa
Sada možemo koristiti RVM za instalaciju dodatnih komponenti. Instalirajte Rails okvir pomoću RVM-a:
|
1 |
gem install rails |
-
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:
|
1 |
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' |

|
1 |
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - |

|
1 |
sudo apt update && sudo apt install postgresql -y |

Kako bismo omogućili podršku za PostgreSQL, moramo instalirati pg gem. On omogućuje povezivanje s PostgreSQL-om iz Ruby koda:
|
1 |
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:
|
1 |
su - postgres |
Pristupite PostgreSQL ljusci:
|
1 |
psql |

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:
|
1 |
create role <username> with createdb login password 'password123'; |
Creating a Rails App
Recite Railsu da stvori novu Rails aplikaciju konfiguriranu za korištenje PostgreSQL-a za bazu podataka:
|
1 |
rails new <app_name> --database=postgresql |

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:
|
1 |
RAILS_ROOT/config/database.yml |
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:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
development: adapter: postgresql encoding: unicode database: dummyapp_development pool: 5 username: dummyapp password: password123 test: adapter: postgresql encoding: unicode database: myapp_test pool: 5 username: dummyapp password: password123 |

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:
|
1 |
rake db:setup |
Ovaj korak neće uspjeti ako konfiguracijska datoteka za PostgreSQL pg_hba.conf sadrži neispravne konfiguracije. Datoteka se nalazi na sljedećoj lokaciji:
|
1 |
sudo cat /etc/postgresql/13/main/pg_hba.conf |
Sljedeći redak je cilj. Umjesto peer, metoda autentifikacije trebala bi biti md5:
|
1 |
local all all peer |
Promijenite redak:
|
1 |
local all all md5 |

Kako bi promjene stupile na snagu, morate ponovno pokrenuti PostgreSQL uslugu:
|
1 |
sudo systemctl restart postgresql |
Zatim ponovno pokrenite postavljanje baze podataka:
|
1 |
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):
|
1 |
rails webpacker:install |

Rails aplikacija bi sada trebala biti spremna za pokretanje. Pokrenite Rails poslužitelj:
|
1 |
rails server |

Poslužitelj bi trebao biti dostupan s ove URL adrese. Otvorit će se početna stranica Railsa:
|
1 |
http://localhost:3000 |
Kako biste početnu stranicu učinili zanimljivijom, stvorite scaffold:
|
1 |
rails g scaffold Post title:string body:text |

|
1 |
rake db: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!


Komentari
Još nema komentara. Budite prvi.