Powrót do bloga

Konfiguracja Ruby on Rails z PostgreSQL

Konfiguracja Ruby on Rails z PostgreSQL

Spośród wszystkich dostępnych silników baz danych, PostgreSQL jest jednym z najpopularniejszych. To dobrze znany system bazodanowy o otwartym kodzie źródłowym, ceniony za swoją niezawodność, rozbudowane funkcje i wydajność. Ponieważ PostgreSQL jest popularnym wyborem, jest wspierany przez niemal wszystkie główne frameworki webowe. Podobnie jak jego konkurenci MySQL i SQLite, PostgreSQL również ma swoje mocne i słabe strony.

Ruby on Rails to popularny framework webowy napisany w języku Ruby. Jest to framework niezależny od bazy danych, co oznacza, że może współpracować z wieloma różnymi bazami danych. Domyślnie Rails zakłada użycie SQL dla funkcjonalności bazodanowych. Obsługuje jednak również integrację z PostgreSQL.

Ten poradnik przeprowadzi Cię przez proces konfiguracji PostgreSQL dla Twojej aplikacji Ruby on Rails.

Ruby on Rails i PostgreSQL

Zarówno PostgreSQL, jak i Ruby on Rails są dostępne na dowolnej dystrybucji systemu UNIX/Linux. Powinny być one dostępne w domyślnych repozytoriach pakietów.

Alternatywną metodą jest użycie RVM (Ruby Version Manager). Jest to dedykowane narzędzie do zarządzania instalacjami Ruby on Rails. Zaletą tego podejścia jest to, że RVM utworzy lokalną instalację Ruby on Rails. Może również zarządzać wieloma wersjami Ruby i płynnie się między nimi przełączać. Oto poradnik, który szczegółowo opisuje kroki Instalacji Ruby on Rails z RVM na Ubuntu.

Jeśli chodzi o PostgreSQL, zapoznaj się z tym krótkim przewodnikiem dotyczącym instalacji i konfiguracji PostgreSQL na Ubuntu.

  • Instalacja RVM

Proces instalacji RVM jest dość prosty dzięki skryptowi instalacyjnemu oferowanemu przez RVM. Skrypt został zaprojektowany tak, aby automatycznie wykrywać system Linux, a następnie pobierać i instalować wszystkie niezbędne pakiety. Do weryfikacji pakietów potrzebujemy kluczy GPG RVM. Gwarantuje to, że otrzymane pakiety nie są sfałszowane. Najpierw dodaj klucze GPG RVM:

gpg_recv_keys Ruby on Rails with PostgreSQL

Następnie uruchom skrypt instalacyjny RVM:

install_rvm Ruby on Rails with PostgreSQL

Na koniec zweryfikuj instalację:

verify_install

  • Instalacja Rails

Możemy teraz użyć RVM do zainstalowania dodatkowych komponentów. Zainstaluj framework Rails za pomocą RVM:

gem_install_rails Ruby on Rails with PostgreSQL

  • Instalacja PostgreSQL

Kolejny krok wymaga wcześniejszego zainstalowania PostgreSQL w systemie. Domyślnie najprostszym sposobem na instalację PostgreSQL jest użycie domyślnego menedżera pakietów. Jest on dostępny dla wszystkich głównych dystrybucji Linuksa. Sprawdź stronę pobierania PostgreSQL w celu zapoznania się ze wszystkimi dostępnymi metodami instalacji. W systemie Ubuntu poniższe polecenia skonfigurują repozytorium PostgreSQL i natychmiast je zainstalują:

postgresql_get

add_postgresql_keys

apt_and_postgresql_update Ruby on Rails with PostgreSQL

Aby włączyć obsługę PostgreSQL, musimy zainstalować pg gem. Umożliwia on interakcję z PostgreSQL z poziomu kodu Ruby:

gem_install_pg

  • Konfiguracja PostgreSQL

Po instalacji skonfigurujemy narzędzia, których będziemy potrzebować w naszych projektach. Najpierw przełącz się na użytkownika PostgreSQL:

Uzyskaj dostęp do powłoki PostgreSQL:

psql Ruby on Rails with PostgreSQL

W kontekście PostgreSQL utworzymy teraz nową rolę (klasycznie znaną jako użytkownik). PostgreSQL ma swój własny format ról i uprawnień. Nie zapomnij użyć odpowiedniej nazwy użytkownika i silnego hasła:

create_role

Tworzenie aplikacji Rails

Poleć Rails utworzenie nowej aplikacji Rails skonfigurowanej do używania PostgreSQL jako bazy danych:

rails_new_dummy_app

Spowoduje to utworzenie nowego katalogu o nazwie użytkownika aplikacji. Rails zazwyczaj oczekuje, że nazwa użytkownika bazy danych i nazwa aplikacji będą takie same. Następnym krokiem jest konfiguracja bazy danych Rails. Plik konfiguracyjny znajduje się w następującej lokalizacji:

Plik database.yml zawiera dane opisujące odpowiednią bazę danych dla bieżącego środowiska Rails. Jak sugeruje nazwa pliku, używa on YAML. YAML to przyjazny dla człowieka standard serializacji danych dla wszystkich języków programowania.

Domyślnie Rails oczekuje różnych baz danych dla różnych środowisk, na przykład development, test, oraz production. Jest to przydatne w różnych sytuacjach, na przykład Rails opróżni i przebuduje bazę danych test za każdym razem, gdy uruchamiany jest test Rails.

Oto przykładowy plik database.yml zawierający bazy danych development and test :

db_yaml

Nadszedł czas, aby wprowadzić zmiany w życie. Poniższe polecenie przygotuje niezbędne bazy danych opisane w database.yml. Każda baza danych będzie miała własnych użytkowników oraz tabele schema_migrations . Tabela ta jest niezbędna do migracji danych i schematu:

Ten krok zakończy się niepowodzeniem, jeśli plik konfiguracyjny PostgreSQL pg_hba.conf zawiera nieprawidłową konfigurację. Plik znajduje się w następującej lokalizacji:

Docelowa jest następująca linia. Zamiast peer, metodą uwierzytelniania powinno być md5:

Zmień linię:

pg_hba_conf

Aby zmiany weszły w życie, musisz zrestartować usługę PostgreSQL:

Następnie ponownie uruchom konfigurację bazy danych:

rake_db_setup

Running Rails

Uruchomienie serwera Rails wymaga następującego dodatkowego komponentu. Pamiętaj, że do tego potrzebujesz Node.js installed (z yarn):

webpacker_install

Aplikacja Rails powinna być teraz gotowa do uruchomienia. Uruchom serwer Rails:

rails_server

Serwer powinien być dostępny pod następującym adresem URL. Przekieruje on na stronę startową Rails:

Aby strona startowa była ciekawsza, utwórz rusztowanie (scaffold):

create_scaffold

rakedb_migrate

Na koniec uruchom serwer i ponownie przejdź pod ten adres URL. Możemy teraz zarządzać postami (tworzyć, edytować i usuwać posty).

Final Thoughts

To jest podstawowa konfiguracja Ruby on Rails z PostgreSQL. Dostępny jest official getting started guide, który pomoże Ci w dalszym korzystaniu z Rails. Przykładowa aplikacja, którą stworzyliśmy, korzysta z PostgreSQL. W ten sposób możesz stworzyć dowolną aplikację, która wykorzystuje PostgreSQL do swoich funkcjonalności.

Happy computing!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev jest projektantem kreatywnym w CloudSigma, skupiającym się na spójnej tożsamości biznesowej przy wykorzystaniu tradycyjnych i innowacyjnych kanałów marketingowych. Biegle łączy wizję artystyczną ze strategicznym marketingiem, tworząc wywierające wpływ narracje marki.

Komentarze

Brak komentarzy. Bądź pierwszy.