Az összes elérhető adatbázis-motor közül PostgreSQL az egyik legnépszerűbb. Ez egy jól ismert, nyílt forráskódú adatbázis-rendszer, amely megbízhatóságáról, robusztus funkcióiról és teljesítményéről ismert. Mivel a PostgreSQL népszerű választás, szinte az összes jelentős webes keretrendszer támogatja. Versenytársaihoz, a MySQL-hez és az SQLite-hoz hasonlóan a PostgreSQL-nek is megvannak a maga erős és gyenge pontjai.
Ruby on Rails egy népszerű webes keretrendszer, amely Ruby nyelven íródott. Ez egy adatbázis-agnosztikus keretrendszer, ami azt jelenti, hogy az adatbázisok széles skálájával képes együttműködni. Alapértelmezés szerint a Rails SQL-t feltételez az adatbázis-funkciókhoz. Azonban támogatja a PostgreSQL integrációt is.
Ez az útmutató végigvezeti Önt a PostgreSQL konfigurálásának folyamatán a Ruby on Rails alkalmazásához.
Ruby on Rails and PostgreSQL
Mind a PostgreSQL, mind a Ruby on Rails elérhető bármely UNIX/Linux disztribúción. Elérhetőnek kell lenniük az alapértelmezett csomagszerverekről.
Egy alternatív módszer az RVM (Ruby Version Manager) használata. Ez egy dedikált eszköz a Ruby on Rails telepítések kezelésére. Ennek a megközelítésnek az az előnye, hogy az RVM létrehozza a Ruby on Rails helyi telepítését. Képes a Ruby több verziójának kezelésére is, és zökkenőmentesen váltani közöttük. Íme egy útmutató, amely részletezi a Ruby on Rails telepítése RVM-mel Ubuntu-n.
Ami a PostgreSQL-t illeti, tekintse meg ezt a rövid útmutatót a PostgreSQL telepítéséről és konfigurálásáról Ubuntu-n.
-
Az RVM telepítése
Az RVM telepítési folyamata meglehetősen egyszerű, köszönhetően az RVM által kínált telepítő szkriptnek. A szkriptet úgy tervezték, hogy automatikusan felismerje a Linux rendszert, majd letöltse és telepítse az összes szükséges csomagot. A csomagok ellenőrzéséhez szükségünk van az RVM GPG kulcsaira. Ez biztosítja, hogy a kapott csomagok ne legyenek hamisítva. Először adja hozzá az RVM GPG kulcsokat:
|
1 |
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB |

Ezután futtassa az RVM telepítő szkriptet:
|
1 |
curl -sSL https://get.rvm.io | bash -s stable --rails |

Végül ellenőrizze a telepítést:
|
1 |
type rvm | head -n 1 |
-
A Rails telepítése
Most már használhatjuk az RVM-et további összetevők telepítésére. Telepítse a Rails keretrendszert az RVM használatával:
|
1 |
gem install rails |
-
A PostgreSQL telepítése
A következő lépéshez a PostgreSQL-nek előre telepítve kell lennie a rendszeren. Alapértelmezés szerint a PostgreSQL telepítésének legegyszerűbb módja az alapértelmezett csomagkezelő használata. Ez az összes nagyobb Linux disztribúcióhoz elérhető. Tekintse meg a PostgreSQL letöltési oldalát az összes elérhető telepítési módszerért. Ubuntu-n a következő parancsok konfigurálják a PostgreSQL tárolót, és azonnal telepítik azt:
|
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-et. Ez lehetővé teszi a PostgreSQL-lel való kapcsolatot Ruby kódból:
|
1 |
gem install pg |
-
A PostgreSQL konfigurálása
A telepítés után konfiguráljuk azokat az eszközöket, amelyeket a projektjeinkhez használnunk kell. Először váltson át a PostgreSQL felhasználóra:
|
1 |
su - postgres |
Lépjen be a PostgreSQL parancssorba:
|
1 |
psql |

A PostgreSQL kontextusában most létrehozunk egy új szerepkört (hagyományos nevén felhasználót). A PostgreSQL saját formátummal rendelkezik a szerepkörök és jogosultságok terén. Ne felejtsen el megfelelő felhasználónevet és erős jelszót használni:
|
1 |
create role <username> with createdb login password 'password123'; |
Rails alkalmazás létrehozása
Utasítsa a Rails-t egy új Rails alkalmazás létrehozására, amely a PostgreSQL-t használja adatbázisként:
|
1 |
rails new <app_name> --database=postgresql |

Ez létrehoz egy új könyvtárat az alkalmazás felhasználónevével. A Rails általában elvárja, hogy az adatbázis felhasználóneve és az alkalmazás neve megegyezzen. A következő lépés a Rails adatbázis-konfigurációjának beállítása. A konfigurációs fájl a következő helyen található:
|
1 |
RAILS_ROOT/config/database.yml |
A database.yml fájl tartalmazza az aktuális Rails környezetnek megfelelő adatbázist leíró adatokat. Ahogy a fájlnév is sugallja, ez a következőt használja: YAML. A YAML egy ember által jól olvasható adatszerializációs szabvány minden programozási nyelvhez.
Alapértelmezés szerint a Rails különböző adatbázisokat vár a különböző környezetekhez, például: development, test, és production. Ez különféle helyzetekben hasznos, például a Rails minden alkalommal kiüríti és újraépíti a test adatbázist, amikor egy Rails teszt fut.
Íme egy minta database.yml fájl, amely tartalmazza a development és test adatbázisokat:
|
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 |

Most itt az ideje, hogy a változtatások életbe lépjenek. A következő parancs előkészíti a szükséges adatbázisokat, amelyeket a database.yml fájl ír le. Minden adatbázisnak saját felhasználói lesznek, és rendelkezni fog schema_migrations táblákkal. A tábla szükséges az adatok és a séma migrációjához:
|
1 |
rake db:setup |
Ez a lépés sikertelen lesz, ha a PostgreSQL konfigurációs fájlja, a pg_hba.conf helytelen konfigurációkat tartalmaz. A fájl a következő helyen található:
|
1 |
sudo cat /etc/postgresql/13/main/pg_hba.conf |
A következő sor a célpont. A peer helyett a hitelesítési módszernek a következőnek kell lennie: md5:
|
1 |
local all all peer |
Módosítsa a sort:
|
1 |
local all all md5 |

A változtatások életbe lépéséhez újra kell indítania a PostgreSQL szolgáltatást:
|
1 |
sudo systemctl restart postgresql |
Ezután futtassa újra az adatbázis-beállítást:
|
1 |
rake db:setup |
A Rails futtatása
A Rails szerver futtatásához a következő kiegészítő összetevőre van szükség. Vegye figyelembe, hogy ehhez telepített Node.js-re van szükség (valamint yarn):
|
1 |
rails webpacker:install |

A Rails alkalmazásnak most már készen kell állnia az indításra. Indítsa el a Rails szervert:
|
1 |
rails server |

A szervernek a következő URL-ről kell elérhetőnek lennie. Ez a Rails kezdőlapjára fog vezetni:
|
1 |
http://localhost:3000 |
Hogy a kezdőlap izgalmasabb legyen, hozzon létre egy scaffoldot:
|
1 |
rails g scaffold Post title:string body:text |

|
1 |
rake db:migrate |
Végül indítsa el a szervert, és navigáljon újra az URL-re. Most már kezelhetjük a bejegyzéseket (bejegyzések létrehozása, szerkesztése és törlése).
Záró gondolatok
Ez a Ruby on Rails és a PostgreSQL alapvető beállítása. Létezik egy hivatalos kezdő útmutató, amely segít a Rails további használatában. Az általunk létrehozott mintaalkalmazás PostgreSQL-t használ. Így bármilyen olyan alkalmazást létrehozhat, amely a PostgreSQL-t használja a funkcióihoz.
Kellemes programozást!


Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.