GNU/Linux >> Linux Esercitazione >  >> Linux

Configura la connessione al database utilizzando la variabile di ambiente in Rails

Questa guida spiega perché è necessario utilizzare una variabile di ambiente per connettersi a un database e come configurare la connessione al database utilizzando la variabile di ambiente nell'applicazione Rails in Linux.

Perché utilizzare la variabile di ambiente per configurare il database?

Ogni applicazione Rails interagirà con il rispettivo database. Esistono due modi per connettersi a un database in un'applicazione Rails. Puoi connetterti a un database tramite un file di configurazione del database chiamato config/database.yml o utilizzando una variabile di ambiente chiamata ENV['DATABASE_URL'] . Ti abbiamo già mostrato come creare un'applicazione Rails con un database MySQL o un database PostgreSQL . In queste due guide, abbiamo configurato la connessione al database utilizzando config/database.yml file.

Se sei l'unica persona che lavora in un progetto Rails, va bene memorizzare le credenziali del database in config/database.yml file. Ma se il progetto è ospitato in un repository Git pubblico e molti sviluppatori ci stanno lavorando, non è consigliabile archiviare informazioni sensibili come le password in config/database.yml file. Inoltre, i dettagli del database di ogni sviluppatore possono essere diversi, ad esempio nome utente e password. Ogni volta che inseriamo il codice, si verificherà un conflitto in un file. Questo è il motivo per cui è necessario archiviare le credenziali del database in una variabile di ambiente anziché scriverle direttamente nel file di configurazione del database.

Configura la connessione al database utilizzando la variabile di ambiente nell'applicazione Rails

Presumo che tu abbia l'ultimo Ruby on Rails nella tua macchina Linux. Se non hai ancora installato Ruby on Rails, fai riferimento alla seguente guida.

  • Come installare Ruby On Rails in Linux

Quindi, crea una nuova applicazione Rails. Se desideri utilizzare MySQL con l'applicazione Rails, esegui il comando seguente per creare una nuova applicazione Rails, ovvero ostechnixapp :

$ rails new ostechnixapp -d mysql

Se vuoi usare PostgreSQL con l'applicazione Rails, crea la nuova applicazione Rails chiamata ostechnixapp come di seguito:

$ rails new ostechnixapp -d postgresql

Quindi, aggiungi una nuova variabile di ambiente con la password dell'utente del database nel file del profilo dell'utente, ad esempio ~/.bashrc .

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

Nel comando precedente, sostituisci "OSTECHNIXAPP" con il nome dell'applicazione e "Database_User_Password" con la password dell'utente del database effettivo.

Fonte il ~/.bashrc per aggiornare immediatamente le modifiche:

$ source ~/.bashrc

Ora passa alla directory dell'applicazione:

$ cd ostechnixapp/

Modifica il file di configurazione del database dell'applicazione:

$ vi config/database.yml

Se stai usando MySQL, aggiungi il nome utente del database e la variabile di ambiente che abbiamo aggiunto a ~/.bashrc file nel passaggio precedente, sotto il default sezione. Ecco cosa ho aggiunto nel file di configurazione di 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
[...]

Ancora una volta, devi sostituire OSTECHNIXAPP_DATABASE_PASSWORD con la variabile di ambiente corretta.

Se stai usando PostgreSQL, aggiungi il ruolo del database e la variabile di ambiente in default sezione come di seguito:

[...]
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'] %>
[...]

Dopo aver aggiunto il ruolo utente del database e la variabile di ambiente, premere ESC digitare e digitare :wq per salvare le modifiche e uscire dal file.

Infine, crea il database per la tua applicazione Rails usando il comando:

$ rake db:create

Questo comando creerà due database:ostechnixapp_development e ostechnixapp_test .

Created database 'ostechnixapp_development'
Created database 'ostechnixapp_test'

Ora avvia l'applicazione Rails sul server web integrato chiamato puma usando il comando:

$ rails server -b 0.0.0.0

Apri il tuo browser web e accedi all'applicazione Rails navigando su http://ip-address:3000 URL. Sarai accolto con la pagina di test predefinita di Rails:

Come ho già fatto, se non vuoi rivelare la password del database ad altri sviluppatori, dovresti configurare la connessione al database con una variabile di ambiente in un'applicazione Rails. Se sei l'unico sviluppatore, puoi semplicemente utilizzare il file di configurazione del database predefinito.


Linux
  1. Suggerimenti e trucchi per le variabili di ambiente Linux

  2. Configura WSO2 API Manager con il database MySQL

  3. Ssh – Utilizzo di un canale Ssh già stabilito?

  4. Configura i backup del database MSSQL

  5. PuTTY:Extreme Makeover utilizzando PuTTY Connection Manager

Come impostare la variabile d'ambiente in Windows

Come impostare le variabili d'ambiente in MacOS

Crea database e tabelle MySQL usando PHP in XAMPP

Come impostare la variabile d'ambiente in Bash

come passare la variabile d'ambiente a sudo su

Impossibile utilizzare un array come variabile di ambiente