Mezi všemi dostupnými databázovými stroji PostgreSQL jedním z nejpopulárnějších. Je to známý open-source databázový systém proslulý svou spolehlivostí, robustními funkcemi a výkonem. Protože je PostgreSQL populární volbou, je podporován téměř všemi hlavními webovými frameworky. Podobně jako jeho konkurenti MySQL a SQLite má i PostgreSQL své silné a slabé stránky.
Ruby on Rails je populární webový framework napsaný v jazyce Ruby. Je to databázově agnostický framework, což znamená, že dokáže pracovat s širokou škálou databází. Ve výchozím nastavení Rails předpokládají pro databázové funkce SQL. Podporují však také integraci s PostgreSQL.
Tento návod vás provede procesem konfigurace PostgreSQL pro vaši aplikaci v Ruby on Rails.
Ruby on Rails a PostgreSQL
Jak PostgreSQL, tak Ruby on Rails jsou k dispozici pro jakoukoli UNIX/Linux distribuci. Měly by být dostupné z výchozích balíčkovacích serverů.
Alternativní metodou je použití RVM (Ruby Version Manager). Je to specializovaný nástroj pro správu instalací Ruby on Rails. Výhodou tohoto přístupu je, že RVM vytvoří lokální instalaci Ruby on Rails. Dokáže také spravovat více verzí Ruby a plynule mezi nimi přepínat. Zde je návod, který podrobně popisuje kroky Instalace Ruby on Rails pomocí RVM na Ubuntu.
Pokud jde o PostgreSQL, podívejte se na tohoto rychlého průvodce instalací a konfigurací PostgreSQL na Ubuntu.
-
Instalace RVM
Proces instalace RVM je poměrně jednoduchý, a to díky instalačnímu skriptu, který RVM nabízí. Skript je navržen tak, aby automaticky detekoval Linux systém a poté stáhl a nainstaloval všechny potřebné balíčky. K ověření balíčků potřebujeme GPG klíče RVM. To zajišťuje, že přijaté balíčky nejsou podvržené. Nejprve přidejte GPG klíče RVM:
|
1 |
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB |

Poté spusťte instalační skript RVM:
|
1 |
curl -sSL https://get.rvm.io | bash -s stable --rails |

Nakonec ověřte instalaci:
|
1 |
type rvm | head -n 1 |
-
Instalace Rails
Nyní můžeme použít RVM k instalaci dalších komponent. Nainstalujte framework Rails pomocí RVM:
|
1 |
gem install rails |
-
Instalace PostgreSQL
Další krok vyžaduje mít v systému předinstalovaný PostgreSQL. Nejjednodušším způsobem, jak nainstalovat PostgreSQL, je standardně použít výchozí správce balíčků. Je k dispozici pro všechny hlavní linuxové distribuce. Podívejte se na stránku pro stažení PostgreSQL pro všechny dostupné metody instalace. Na Ubuntu následující příkazy nakonfigurují repozitář PostgreSQL a okamžitě jej nainstalují:
|
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 |

To enable PostgreSQL support, we need to install the pg gem. It enables interfacing with PostgreSQL from Ruby code:
|
1 |
gem install pg |
-
Konfigurace PostgreSQL
Po instalaci nakonfigurujeme nástroje, které budeme muset použít pro naše projekty. Nejprve se přepněte na uživatele PostgreSQL:
|
1 |
su - postgres |
Přístup do konzole PostgreSQL:
|
1 |
psql |

V kontextu PostgreSQL nyní vytvoříme novou roli (klasicky známou jako uživatel). PostgreSQL má svůj vlastní formát rolí a oprávnění. Nezapomeňte použít vhodné uživatelské jméno a silné heslo:
|
1 |
create role <username> with createdb login password 'password123'; |
Vytvoření aplikace v Rails
Řekněte Rails, aby vytvořily novou aplikaci Rails nakonfigurovanou pro použití PostgreSQL jako databáze:
|
1 |
rails new <app_name> --database=postgresql |

Tím se vytvoří nový adresář s uživatelským jménem aplikace. Rails obecně očekávají, že uživatelské jméno databáze a název aplikace budou stejné. Dalším krokem je konfigurace databáze Rails. Konfigurační soubor se nachází na následujícím místě:
|
1 |
RAILS_ROOT/config/database.yml |
Soubor database.yml obsahuje data popisující příslušnou databázi pro aktuální prostředí Rails. Jak napovídá název souboru, používá YAML. YAML je standard pro serializaci dat srozumitelný pro lidi, určený pro všechny programovací jazyky.
Ve výchozím nastavení Rails očekávají různé databáze pro různá prostředí, například development, test, a production. To je užitečné v různých situacích, například Rails vyprázdní a znovu sestaví test databázi při každém spuštění testu Rails.
Zde je ukázkový database.yml obsahující development a test databáze:
|
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 |

Nyní je čas uvést změny v platnost. Následující příkaz připraví potřebné databáze popsané v database.yml. Každá databáze bude mít své vlastní uživatele a schema_migrations tabulky. Tato tabulka je nezbytná pro migraci dat a schématu:
|
1 |
rake db:setup |
Tento krok selže, pokud konfigurační soubor PostgreSQL pg_hba.conf obsahuje nesprávnou konfiguraci. Soubor se nachází na následujícím místě:
|
1 |
sudo cat /etc/postgresql/13/main/pg_hba.conf |
Cílem je následující řádek. Místo peer, by měla být metoda ověřování md5:
|
1 |
local all all peer |
Změňte řádek:
|
1 |
local all all md5 |

Aby se změny projevily, musíte restartovat službu PostgreSQL:
|
1 |
sudo systemctl restart postgresql |
Poté znovu spusťte nastavení databáze:
|
1 |
rake db:setup |
Spuštění Rails
Spuštění serveru Rails vyžaduje následující dodatečnou komponentu. Upozorňujeme, že k tomu potřebujete nainstalovaný Node.js (s yarn):
|
1 |
rails webpacker:install |

Aplikace Rails by nyní měla být připravena ke spuštění. Spusťte server Rails:
|
1 |
rails server |

Server by měl být přístupný z následující adresy URL. Otevře se úvodní stránka Rails:
|
1 |
http://localhost:3000 |
Chcete-li, aby byla úvodní stránka zajímavější, vytvořte scaffold:
|
1 |
rails g scaffold Post title:string body:text |

|
1 |
rake db:migrate |
Nakonec spusťte server a znovu přejděte na danou adresu URL. Nyní můžeme spravovat příspěvky (vytvářet, upravovat a mazat příspěvky).
Závěrečné myšlenky
Toto je základní nastavení Ruby on Rails s PostgreSQL. K dispozici je oficiální příručka pro začátek , která vám pomůže Rails dále využívat. Vytvořená ukázková aplikace používá PostgreSQL. Tímto způsobem můžete vytvořit jakoukoli aplikaci, která pro své funkce využívá PostgreSQL.
Příjemnou práci s počítačem!


Komentáře
Zatím žádné komentáře. Buďte první.