GNU/Linux >> Belajar Linux >  >> Linux

Konfigurasikan Koneksi Database Menggunakan Variabel Lingkungan Dalam Rails

Panduan ini menjelaskan mengapa Anda perlu menggunakan variabel lingkungan untuk terhubung ke database dan cara mengkonfigurasi koneksi database menggunakan variabel lingkungan di aplikasi Rails di Linux.

Mengapa menggunakan variabel lingkungan untuk mengkonfigurasi database?

Setiap aplikasi Rails akan berinteraksi dengan database masing-masing. Ada dua cara untuk terhubung dengan database dalam aplikasi Rails. Anda dapat terhubung ke database melalui file konfigurasi database yang disebut config/database.yml atau menggunakan variabel lingkungan yang disebut ENV['DATABASE_URL'] . Kami telah menunjukkan kepada Anda cara membuat aplikasi Rails dengan database MySQL atau basis data PostgreSQL . Dalam dua panduan ini, kami mengonfigurasi koneksi database menggunakan config/database.yml berkas.

Jika Anda satu-satunya orang yang bekerja di proyek Rails, boleh saja menyimpan kredensial database di config/database.yml mengajukan. Tetapi jika proyek di-host di repositori Git publik dan banyak pengembang sedang mengerjakannya, tidak disarankan untuk menyimpan informasi sensitif seperti kata sandi di config/database.yml mengajukan. Juga, detail basis data setiap pengembang dapat berbeda, yaitu nama pengguna dan kata sandi. Setiap kali kita mendorong kode, akan ada konflik dalam file. Inilah sebabnya mengapa kita perlu menyimpan kredensial database dalam variabel lingkungan daripada menulisnya langsung di file konfigurasi database.

Konfigurasi koneksi database menggunakan variabel lingkungan di aplikasi Rails

Saya berasumsi bahwa Anda memiliki Ruby on Rails terbaru di mesin Linux Anda. Jika Anda belum menginstal Ruby on Rails, lihat panduan berikut.

  • Cara Menginstal Ruby On Rails Di Linux

Selanjutnya, buat aplikasi Rails baru. Jika ingin menggunakan MySQL dengan aplikasi Rails, jalankan perintah berikut untuk membuat aplikasi Rails baru yaitu ostechnixapp :

$ rails new ostechnixapp -d mysql

Jika Anda ingin menggunakan PostgreSQL dengan aplikasi Rails, buat aplikasi Rails baru bernama ostechnixapp seperti di bawah ini:

$ rails new ostechnixapp -d postgresql

Selanjutnya, tambahkan variabel lingkungan baru dengan kata sandi pengguna database Anda di file profil pengguna Anda, misalnya ~/.bashrc .

$ echo 'export OSTECHNIXAPP_DATABASE_PASSWORD="Database_User_Password"' >> ~/.bashrc

Pada perintah di atas, ganti "OSTECHNIXAPP" dengan nama aplikasi Anda dan "Database_User_Password" dengan kata sandi pengguna basis data Anda yang sebenarnya.

Sumber ~/.bashrc file untuk segera memperbarui perubahan:

$ source ~/.bashrc

Sekarang beralih ke direktori aplikasi:

$ cd ostechnixapp/

Edit file konfigurasi database aplikasi:

$ vi config/database.yml

Jika Anda menggunakan MySQL, tambahkan nama pengguna database dan variabel lingkungan yang kami tambahkan ke ~/.bashrc file pada langkah sebelumnya, di bawah default bagian. Inilah yang saya tambahkan di file konfigurasi MySQL:

[...]
default: &default
   adapter: mysql2
   encoding: utf8mb4
   pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
   username: root
   password: <%= ENV['OSTECHNIXAPP_DATABASE_PASSWORD'] %>
   socket: /var/run/mysqld/mysqld.sock
[...]

Sekali lagi, Anda harus mengganti OSTECHNIXAPP_DATABASE_PASSWORD dengan variabel lingkungan Anda yang benar.

Jika Anda menggunakan PostgreSQL, tambahkan peran database dan variabel lingkungan di bawah default bagian seperti di bawah ini:

[...]
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: <%= ENV['OSTECHNIXAPP_DATABASE_PASSWORD'] %>
[...]

Setelah menambahkan peran pengguna database dan variabel lingkungan, tekan ESC kunci dan ketik :wq untuk menyimpan perubahan dan keluar dari file.

Terakhir, buat database untuk aplikasi Rails Anda menggunakan perintah:

$ rake db:create

Perintah ini akan membuat dua database yaitu ostechnixapp_development dan ostechnixapp_test .

Created database 'ostechnixapp_development'
Created database 'ostechnixapp_test'

Sekarang jalankan aplikasi Rails di server web built-in bernama puma menggunakan perintah:

$ rails server -b 0.0.0.0

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

Seperti yang sudah saya lakukan, jika Anda tidak ingin mengungkapkan kata sandi basis data kepada pengembang lain, Anda harus mengonfigurasi koneksi basis data dengan variabel lingkungan dalam aplikasi Rails. Jika Anda satu-satunya pengembang, Anda cukup menggunakan file konfigurasi database default.


Linux
  1. Ssh – Menggunakan Saluran Ssh yang Sudah Ada?

  2. Konfigurasikan cadangan basis data MSSQL

  3. Substitusi variabel lingkungan di sed

  1. Bagaimana cara menghapus variabel lingkungan yang diekspor?

  2. Bagaimana cara mengatur variabel lingkungan dalam GDB menggunakan perintah Shell?

  3. aksesibilitas variabel lingkungan di Linux

  1. Siapkan Lingkungan Virtualisasi Server Menggunakan Proxmox VE

  2. Konfigurasikan WSO2 API Manager dengan Database MySQL

  3. Tidak dapat membuat koneksi menggunakan ssh2_connect() di PHP