Spomedzi všetkých dostupných databázových nástrojov PostgreSQL patrí medzi tie najpopulárnejšie. Je to známy open-source databázový systém preslávený svojou spoľahlivosťou, robustnými funkciami a výkonom. Keďže PostgreSQL je populárnou voľbou, podporujú ho takmer všetky hlavné webové frameworky. Podobne ako jeho konkurenti MySQL a SQLite, aj PostgreSQL má svoje silné a slabé stránky.
Ruby on Rails je populárny webový framework napísaný v jazyku Ruby. Je to databázovo agnostický framework, čo znamená, že dokáže pracovať so širokou škálou databáz. V predvolenom nastavení Rails predpokladá SQL pre databázové funkcie. Podporuje však aj integráciu s PostgreSQL.
Tento návod vás prevedie procesom konfigurácie PostgreSQL pre vašu aplikáciu Ruby on Rails.
Ruby on Rails a PostgreSQL
PostgreSQL aj Ruby on Rails sú dostupné pre akúkoľvek distribúciu UNIX/Linux. Mali by byť dostupné z predvolených balíkových serverov.
Alternatívnou metódou je použitie RVM (Ruby Version Manager). Je to špecializovaný nástroj na správu inštalácií Ruby on Rails. Výhodou tohto prístupu je, že RVM vytvorí lokálnu inštaláciu Ruby on Rails. Dokáže tiež spravovať viacero verzií Ruby a bezproblémovo medzi nimi prepínať. Tu je návod, ktorý podrobne popisuje kroky Inštalácia Ruby on Rails pomocou RVM na Ubuntu.
Čo sa týka PostgreSQL, pozrite si tohto rýchleho sprievodcu na inštaláciu a konfiguráciu PostgreSQL na Ubuntu.
-
Inštalácia RVM
Proces inštalácie RVM je pomerne jednoduchý vďaka inštalačnému skriptu, ktorý RVM ponúka. Skript je navrhnutý tak, aby automaticky detegoval systém Linux, a potom stiahol a nainštaloval všetky potrebné balíky. Na overenie balíkov potrebujeme GPG kľúče RVM. To zaisťuje, že prijaté balíky nie sú podvrhnuté. Najprv pridajte GPG kľúče RVM:
|
1 |
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB |

Potom spustite inštalačný skript RVM:
|
1 |
curl -sSL https://get.rvm.io | bash -s stable --rails |

Nakoniec overte inštaláciu:
|
1 |
type rvm | head -n 1 |
-
Inštalácia Rails
Teraz môžeme použiť RVM na inštaláciu ďalších komponentov. Nainštalujte framework Rails pomocou RVM:
|
1 |
gem install rails |
-
Inštalácia PostgreSQL
Ďalší krok vyžaduje, aby bol PostgreSQL v systéme predinštalovaný. Najjednoduchším spôsobom inštalácie PostgreSQL je predvolene použiť predvoleného správcu balíkov. Je dostupný pre všetky hlavné distribúcie Linuxu. Pozrite si stránku na stiahnutie PostgreSQL pre všetky dostupné metódy inštalácie. Na Ubuntu nasledujúce príkazy nakonfigurujú repozitár PostgreSQL a okamžite ho nainštalujú:
|
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 |

Na povolenie podpory PostgreSQL musíme nainštalovať pg gem. Umožňuje prepojenie s PostgreSQL z kódu Ruby:
|
1 |
gem install pg |
-
Konfigurácia PostgreSQL
Po inštalácii nakonfigurujeme nástroje, ktoré budeme musieť použiť pre naše projekty. Najprv sa prepnite na používateľa PostgreSQL:
|
1 |
su - postgres |
Prístup k shellu PostgreSQL:
|
1 |
psql |

V kontexte PostgreSQL teraz vytvoríme novú rolu (klasicky známu ako používateľ). PostgreSQL má svoj vlastný formát rolí a oprávnení. Nezabudnite použiť vhodné používateľské meno a silné heslo:
|
1 |
create role <username> with createdb login password 'password123'; |
Vytvorenie aplikácie Rails
Povedzte Rails, aby vytvoril novú Rails aplikáciu nakonfigurovanú na používanie PostgreSQL pre databázu:
|
1 |
rails new <app_name> --database=postgresql |

Týmto sa vytvorí nový adresár s používateľským menom aplikácie. Rails vo všeobecnosti očakáva, že používateľské meno databázy a názov aplikácie budú rovnaké. Ďalším krokom je konfigurácia databázy Rails. Konfiguračný súbor sa nachádza na nasledujúcom mieste:
|
1 |
RAILS_ROOT/config/database.yml |
Súbor database.yml obsahuje údaje popisujúce príslušnú databázu pre aktuálne prostredie Rails. Ako napovedá názov súboru, používa YAML. YAML je štandard serializácie dát prívetivý pre ľudí pre všetky programovacie jazyky.
V predvolenom nastavení Rails očakáva rôzne databázy pre rôzne prostredia, napríklad development, test, a production. Je to užitočné v rôznych situáciách, napríklad Rails vyprázdni a znova zostaví test databázu pri každom spustení testu Rails.
Tu je ukážkový database.yml ktorý obsahuje development a test databázy:
|
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 |

Teraz je čas uviesť zmeny do platnosti. Nasledujúci príkaz pripraví potrebné databázy popísané v database.yml. Každá databáza bude mať svojich vlastných používateľov a schema_migrations tabuľky. Tabuľka je potrebná pre migráciu dát a schémy:
|
1 |
rake db:setup |
Tento krok zlyhá, ak konfiguračný súbor PostgreSQL pg_hba.conf obsahuje nesprávne konfigurácie. Súbor sa nachádza na nasledujúcom mieste:
|
1 |
sudo cat /etc/postgresql/13/main/pg_hba.conf |
Nasledujúci riadok je cieľom. Namiesto peer, metóda autentifikácie by mala byť md5:
|
1 |
local all all peer |
Zmeňte riadok:
|
1 |
local all all md5 |

Aby sa zmeny prejavili, musíte reštartovať službu PostgreSQL:
|
1 |
sudo systemctl restart postgresql |
Potom znova spustite nastavenie databázy:
|
1 |
rake db:setup |
Spustenie Rails
Spustenie servera Rails vyžaduje nasledujúci dodatočný komponent. Upozorňujeme, že na to musíte mať nainštalovaný Node.js (s yarn):
|
1 |
rails webpacker:install |

Aplikácia Rails by teraz mala byť pripravená na spustenie. Spustite server Rails:
|
1 |
rails server |

Server by mal byť prístupný z nasledujúcej URL adresy. Dostanete sa na úvodnú stránku Rails:
|
1 |
http://localhost:3000 |
Ak chcete, aby bola úvodná stránka zaujímavejšia, vytvorte scaffold:
|
1 |
rails g scaffold Post title:string body:text |

|
1 |
rake db:migrate |
Nakoniec spustite server a znova prejdite na danú URL adresu. Teraz môžeme spravovať príspevky (vytvárať, upravovať a mazať príspevky).
Záverečné myšlienky
Toto je základné nastavenie Ruby on Rails s PostgreSQL. K dispozícii je oficiálna príručka pre začínajúcich, ktorá vám pomôže ďalej využívať Rails. Ukážková aplikácia, ktorú sme vytvorili, používa PostgreSQL. Týmto spôsobom môžete vytvoriť akúkoľvek aplikáciu, ktorá pre svoje funkcie využíva PostgreSQL.
Príjemné programovanie!


Komentáre
Zatiaľ žiadne komentáre. Buďte prvý.