Späť na blog

Nastavenie Ruby on Rails s PostgreSQL

Nastavenie Ruby on Rails s PostgreSQL

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:

gpg_recv_keys Ruby on Rails with PostgreSQL

Potom spustite inštalačný skript RVM:

install_rvm Ruby on Rails with PostgreSQL

Nakoniec overte inštaláciu:

verify_install

  • Inštalácia Rails

Teraz môžeme použiť RVM na inštaláciu ďalších komponentov. Nainštalujte framework Rails pomocou RVM:

gem_install_rails Ruby on Rails with PostgreSQL

  • 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ú:

postgresql_get

add_postgresql_keys

apt_and_postgresql_update Ruby on Rails with PostgreSQL

Na povolenie podpory PostgreSQL musíme nainštalovať pg gem. Umožňuje prepojenie s PostgreSQL z kódu Ruby:

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:

Prístup k shellu PostgreSQL:

psql Ruby on Rails with PostgreSQL

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:

create_role

Vytvorenie aplikácie Rails

Povedzte Rails, aby vytvoril novú Rails aplikáciu nakonfigurovanú na používanie PostgreSQL pre databázu:

rails_new_dummy_app

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:

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:

db_yaml

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:

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:

Nasledujúci riadok je cieľom. Namiesto peer, metóda autentifikácie by mala byť md5:

Zmeňte riadok:

pg_hba_conf

Aby sa zmeny prejavili, musíte reštartovať službu PostgreSQL:

Potom znova spustite nastavenie databázy:

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):

webpacker_install

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

rails_server

Server by mal byť prístupný z nasledujúcej URL adresy. Dostanete sa na úvodnú stránku Rails:

Ak chcete, aby bola úvodná stránka zaujímavejšia, vytvorte scaffold:

create_scaffold

rakedb_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!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev je kreatívny dizajnér v spoločnosti CloudSigma, ktorý sa zameriava na konzistentnú firemnú identitu prostredníctvom tradičných a inovatívnych marketingových kanálov. Dokáže brilantne spájať umeleckú víziu so strategickým marketingom, čím vytvára pôsobivé príbehy značky.

Komentáre

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