Ruby on Rails - Penyiapan Database

Sebelum memulai dengan bab ini, pastikan server database Anda sudah aktif dan berjalan. Ruby on Rails merekomendasikan untuk membuat tiga database - masing-masing database untuk pengembangan, pengujian, dan lingkungan produksi. Menurut konvensi, nama mereka harus -

  • library_development
  • library_production
  • library_test

Anda harus menginisialisasi ketiganya dan membuat pengguna dan kata sandi untuk mereka dengan hak akses penuh membaca dan menulis. Kami menggunakanroot ID pengguna untuk aplikasi kita.

Pengaturan Database untuk MySQL

Di MySQL, kami menggunakan rootID pengguna untuk aplikasi kita. Sesi konsol MySQL tempat Anda melakukan ini terlihat seperti -

mysql> create database library_development;
Query OK, 1 row affected (0.01 sec)

mysql> grant all privileges on library_development.*
to 'root'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

Anda dapat melakukan hal yang sama untuk dua database lagi library_production dan library_test.

Konfigurasi database.yml

Pada titik ini, Anda perlu memberi tahu Rails tentang nama pengguna dan kata sandi untuk database. Anda melakukan ini di filedatabase.yml, tersedia di library\configsubdirektori dari Aplikasi Rails yang Anda buat. File ini memiliki bagian konfigurasi langsung untuk database MySQL. Di setiap bagian yang Anda gunakan, Anda perlu mengubah baris nama pengguna dan kata sandi untuk mencerminkan izin pada database yang Anda buat.

Saat Anda selesai, akan terlihat seperti -

development:
   adapter: mysql
   database: library_development
   username: root
   password: [password]
   host: localhost
	
test:
   adapter: mysql
   database: library_test
   username: root
   password: [password]
   host: localhost
   
production:
   adapter: mysql
   database: library_production
   username: root
   password: [password]
   host: localhost

Pengaturan Database untuk PostgreSQL

Secara default, PostgreSQL tidak menyediakan pengguna. Kami harus membuat pengguna baru. Gunakan perintah berikut untuk membuat pengguna dengan nama tersebutrubyuser.

tp> sudo -u postgres createuser rubyuser -s

Jika Anda ingin membuat kata sandi untuk pengguna baru, gunakan perintah berikut.

tp> sudo -u postgres psql

postgres=# \password rubyuser

Gunakan perintah berikut untuk membuat database library_development.

postgres=# CREATE DATABASE library_development OWNER rubyuser; 

CREATE DATABASE

Gunakan perintah berikut untuk membuat database library_production.

postgres=# CREATE DATABASE library_production OWNER rubyuser; 

CREATE DATABASE

Gunakan perintah berikut untuk membuat database library_test.

postgres=# CREATE DATABASE library_test OWNER rubyuser; 

CREATE DATABASE

tekan Ctrl+D untuk menghentikan PosgreSQL.

Konfigurasi database.yml

Pada titik ini, Anda perlu memberi tahu Rails nama pengguna dan kata sandi untuk database. Anda melakukan ini di filedatabase.yml, tersedia di library\configsubdirektori dari Aplikasi Rails yang Anda buat. File ini memiliki bagian konfigurasi langsung untuk database PostgreSQL. Di setiap bagian, Anda perlu mengubah baris nama pengguna dan kata sandi untuk mencerminkan izin pada database yang Anda buat.

Setelah Anda selesai, akan terlihat seperti berikut -

default: &default
   adapter: postgresql
   encoding: unicode
  
development:
   adapter: postgresql
   encoding: unicode
   database: library_development
   username: rubyuser
   password: <Password for rubyuser>

test:
   adapter: postgresql
   encoding: unicode
   database: library_test
   username: rubyuser
   password: <Password for rubyuser>
 
production:
   adapter: postgresql
   encoding: unicode
   database: library_production
   username: rubyuser
   password: <Password for rubyuser>

Apa selanjutnya?

Dua bab berikutnya menjelaskan cara memodelkan tabel database Anda dan cara mengelolanya menggunakan Rails Migration.