GNU/Linux >> Belajar Linux >  >> Linux

Cara Menggunakan PostgreSQL Dengan Aplikasi Ruby On Rails

Meskipun database default SQLite3 bekerja sangat baik dengan Ruby on Rails , kita seharusnya tidak menggunakannya dalam beberapa kasus. Misalnya, jika aplikasi Rails Anda sedang diakses secara bersamaan oleh sejumlah besar pengguna, SQLite tidak disarankan. Kita harus mencoba database yang lebih kuat seperti MySQL atau PostgreSQL, yang menyediakan skalabilitas, konkurensi, sentralisasi, dan kontrol. Kami sudah tahu cara menggunakan MySQL dengan aplikasi Rails . Hari ini, kita akan melihat cara menggunakan PostgreSQL dengan aplikasi Ruby on Rails di Ubuntu Linux.

Prasyarat

Saya berasumsi bahwa Anda telah menginstal Ruby on Rails terbaru di sistem Linux Anda. Jika tidak, lihat panduan berikut.

  • Cara Menginstal Ruby On Rails Di Linux

1. Instal PostgreSQL

Untuk menginstal PostgreSQL di Debian, Ubuntu dan turunannya, jalankan:

$ sudo apt install postgresql postgresql-contrib libpq-dev

Perintah ini akan menginstal PostgreSQL bersama dengan semua dependensi yang diperlukan. Di sini, libpq-dev adalah pustaka PostgreSQL yang memungkinkan program klien meneruskan kueri ke server backend PostgreSQL dan menerima hasil kueri ini. Pustaka ini diperlukan untuk terhubung ke PostgreSQL saat Anda menyiapkan aplikasi Rails.

Pastikan layanan postgresql dimulai dan diaktifkan saat startup:

$ sudo systemctl start postgresql
$ sudo systemctl enable postgresql

Untuk melihat status layanan postgresql saat ini, jalankan:

$ systemctl status postgresql

1.1. Buat peran basis data baru

Kami membutuhkan pengguna (peran) basis data khusus untuk membuat dan mengonfigurasi basis data atau aplikasi Rails kami.

Untuk membuat peran database baru di PostgreSQL, jalankan perintah berikut dari Terminal Anda:

$ sudo -u postgres createuser -s ostechnix -P

Di sini,

  • sudo -u postgres - memungkinkan Anda untuk menjalankan perintah dari postgres akun.
  • createuser -s ostechnix - buat peran baru bernama ostechnix dengan hak pengguna super.
  • -P - meminta Anda memasukkan kata sandi untuk peran baru.

2. Gunakan PostgreSQL dengan aplikasi Ruby on Rails di Linux

Untuk membuat aplikasi Rails baru bernama ostechnixapp dan gunakan PostgreSQL sebagai database default, jalankan:

$ rails new ostechnixapp -d postgresql

Ini akan membuat aplikasi Rails bernama ostechnixapp dalam direktori bernama ostechnixapp dan instal dependensi permata yang telah disebutkan di Gemfile menggunakan bundle install .

Setelah membuat ostechnixapp aplikasi, pindah ke direktorinya:

$ cd ostechnixapp/

Edit file konfigurasi database aplikasi:

$ vi config/database.yml

Di bawah default bagian, tambahkan peran database PosgreSQL dan kata sandinya yang kita buat pada langkah sebelumnya:

[...]
default: &default
   adapter: postgresql
   encoding: unicode
   # For details on connection pooling, see Rails configuration guide
   # https://guides.rubyonrails.org/configuring.html#database-pooling
   pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
   username: ostechnix
   password: Password123#@!
[...]

Ganti nama pengguna dan kata sandinya dengan milik Anda. Tekan ESC dan ketik :wq untuk menyimpan dan menutup file.

Sekarang buat database baru untuk aplikasi Rails Anda menggunakan perintah:

$ rake db:create

Ini akan membuat dua database dengan nama aplikasi Rails Anda. Misalnya, jika nama aplikasinya adalah ostechnixapp, maka itu akan membuat ostechnixapp_development dan ostechnixapp_test .

Created database 'ostechnixapp_development'
Created database 'ostechnixapp_test'

Anda dapat memverifikasinya jika database berhasil dibuat dari PosgreSQL juga.

Masuk ke PosgreSQL:

$ sudo -u postgres psql

Di prompt postgresql, jalankan \l untuk membuat daftar database yang tersedia:

postgres=# \l

Contoh keluaran:

                                       List of databases
            Name           |   Owner   | Encoding | Collate |  Ctype  |   Access privileges   
 --------------------------+-----------+----------+---------+---------+-----------------------
  ostechnixapp_development | ostechnix | UTF8     | C.UTF-8 | C.UTF-8 | 
  ostechnixapp_test        | ostechnix | UTF8     | C.UTF-8 | C.UTF-8 | 
  postgres                 | postgres  | UTF8     | C.UTF-8 | C.UTF-8 | 
  template0                | postgres  | UTF8     | C.UTF-8 | C.UTF-8 | =c/postgres          +
                           |           |          |         |         | postgres=CTc/postgres
  template1                | postgres  | UTF8     | C.UTF-8 | C.UTF-8 | =c/postgres          +
                           |           |          |         |         | postgres=CTc/postgres
 (5 rows)
 postgres=# 

Keluar dari perintah PostgreSQL dengan memasukkan \q .

postgres=# \q

Sekarang mulai server web Rails Anda menggunakan perintah:

$ rails server -b 0.0.0.0

Ini akan memulai aplikasi Rails Anda pada port default 3000 . Di sini, kami melewati argumen -b 0.0.0.0 untuk mengakses aplikasi Rails dari mesin mana pun di jaringan area lokal.

Buka browser web Anda dan akses halaman pengujian Rails Anda dengan menavigasi ke URL:http://ip-address:3000 .

Jika Anda ingin menggunakan port yang berbeda, lewati -p tandai beserta nomor port seperti di bawah ini:

$ rails server -b 0.0.0.0 -p 8080

Sekarang, aplikasi Rails dapat diakses dari URL ini:http://ip-address:8080 .

3. Hapus aplikasi Rails

Jika Anda telah menggunakan database default yaitu SQLite, Anda dapat menghapus aplikasi Rails hanya dengan menghapus direktori aplikasinya.

$ rm -fr ostechnixapp

Jika Anda telah menggunakan PostgreSQL, pertama-tama Anda harus menghapus database terkait aplikasi Anda menggunakan perintah:

$ rake db:drop

Dan kemudian hapus direktori aplikasi:

$ rm -fr ostechnixapp

Kesimpulan

Sekarang Anda tahu cara membuat aplikasi Rails dengan PostgreSQL sebagai databasenya. Seperti yang sudah saya sebutkan, jika aplikasi Anda sedang aktif digunakan oleh sejumlah besar pengguna, Anda perlu menggunakan PostgreSQL atau MySQL. Ini juga dapat berguna ketika Anda ingin menskalakan basis data di masa mendatang, mengelola basis data Anda dari sistem penghapusan.

Bacaan terkait:

  • Konfigurasi Koneksi Database Menggunakan Variabel Lingkungan Dalam Rails

Linux
  1. Bagaimana saya menggunakan Vagrant dengan libvirt

  2. Buat aplikasi desktop Linux dengan Ruby

  3. Cara menggunakan ekspor dengan Python di Linux

  1. Cara mengatur lingkungan untuk aplikasi Ruby on Rails

  2. Cara Menginstal Ruby on Rails (RoR) dengan PostgreSQL di Ubuntu 16.04

  3. Cara Menginstal Gitlab dengan PostgreSQL dan Nginx di Ubuntu 15.04

  1. Cara Menginstal dan Menggunakan Ruby on Rails dengan PostgreSQL di CentOS 7

  2. Cara Menginstal Ruby on Rails dengan PostgreSQL di Rocky Linux 8.4

  3. Cara Menginstal Ruby on Rails di Ubuntu 20.04