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 daripostgres
akun.createuser -s ostechnix
- buat peran baru bernamaostechnix
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