GNU/Linux >> Tutoriales Linux >  >> Linux

Configurar la conexión de la base de datos usando la variable de entorno en Rails

Esta guía explica por qué necesita usar una variable de entorno para conectarse a una base de datos y cómo configurar la conexión de la base de datos usando la variable de entorno en la aplicación Rails en Linux.

¿Por qué usar la variable de entorno para configurar la base de datos?

Cada aplicación de Rails interactuará con su respectiva base de datos. Hay dos formas de conectarse con una base de datos en una aplicación Rails. Puede conectarse a una base de datos a través de un archivo de configuración de base de datos llamado config/database.yml o usando una variable de entorno llamada ENV['DATABASE_URL'] . Ya te hemos mostrado cómo crear una aplicación Rails con una base de datos MySQL o una base de datos PostgreSQL . En estas dos guías, configuramos la conexión de la base de datos usando config/database.yml archivo.

Si es la única persona que trabaja en un proyecto de Rails, está bien almacenar las credenciales de la base de datos en config/database.yml expediente. Pero si el proyecto está alojado en un repositorio Git público y muchos desarrolladores están trabajando en él, no se recomienda almacenar información confidencial como contraseñas en config/database.yml. expediente. Además, los detalles de la base de datos de cada desarrollador pueden ser diferentes, es decir, nombre de usuario y contraseña. Cada vez que insertamos el código, habrá un conflicto en un archivo. Es por eso que necesitamos almacenar las credenciales de la base de datos en una variable de entorno en lugar de escribirlas directamente en el archivo de configuración de la base de datos.

Configure la conexión de la base de datos utilizando la variable de entorno en la aplicación Rails

Supongo que tiene el último Ruby on Rails en su máquina Linux. Si aún no ha instalado Ruby on Rails, consulte la siguiente guía.

  • Cómo instalar Ruby On Rails en Linux

A continuación, cree una nueva aplicación Rails. Si desea utilizar MySQL con la aplicación Rails, ejecute el siguiente comando para crear una nueva aplicación Rails, a saber, ostechnixapp :

$ rails new ostechnixapp -d mysql

Si desea utilizar PostgreSQL con la aplicación Rails, cree la nueva aplicación Rails llamada ostechnixapp como a continuación:

$ rails new ostechnixapp -d postgresql

A continuación, agregue una nueva variable de entorno con la contraseña de usuario de su base de datos en el archivo de perfil de usuario, por ejemplo, ~/.bashrc .

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

En el comando anterior, reemplace "OSTECHNIXAPP" con el nombre de su aplicación y "Database_User_Password" con la contraseña de usuario de la base de datos real.

Obtenga el ~/.bashrc archivo para actualizar los cambios inmediatamente:

$ source ~/.bashrc

Ahora cambie al directorio de la aplicación:

$ cd ostechnixapp/

Edite el archivo de configuración de la base de datos de la aplicación:

$ vi config/database.yml

Si usa MySQL, agregue el nombre de usuario de la base de datos y la variable de entorno que agregamos a ~/.bashrc archivo en el paso anterior, bajo el default sección. Esto es lo que agregué en el archivo de configuración de 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
[...]

Nuevamente, debe reemplazar OSTECHNIXAPP_DATABASE_PASSWORD con su variable de entorno correcta.

Si usa PostgreSQL, agregue el rol de la base de datos y la variable de entorno en default sección como la siguiente:

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

Después de agregar el rol de usuario de la base de datos y la variable de entorno, presione ESC clave y escriba :wq para guardar los cambios y salir del archivo.

Finalmente, cree la base de datos para su aplicación Rails usando el comando:

$ rake db:create

Este comando creará dos bases de datos, a saber, ostechnixapp_development y ostechnixapp_test .

Created database 'ostechnixapp_development'
Created database 'ostechnixapp_test'

Ahora inicie la aplicación Rails en el servidor web integrado llamado puma usando el comando:

$ rails server -b 0.0.0.0

Abra su navegador web y acceda a la aplicación Rails navegando a http://ip-address:3000 URL Será recibido con la página de prueba predeterminada de Rails:

Como ya hice, si no desea revelar la contraseña de la base de datos a otros desarrolladores, debe configurar la conexión de la base de datos con una variable de entorno en una aplicación Rails. Si es un desarrollador único, simplemente puede usar el archivo de configuración de base de datos predeterminado.


Linux
  1. Ssh:¿usando un canal Ssh ya establecido?

  2. Configurar copias de seguridad de bases de datos MSSQL

  3. Cómo permitir la conexión remota a la base de datos PostgreSQL usando psql

  4. ¿Cómo elimino una variable de entorno exportada?

  5. ¿Cómo configurar la variable de entorno dentro de GDB usando el comando de shell?

Cómo establecer la variable de entorno en Windows

Cómo establecer variables de entorno en MacOS

Cree una base de datos y una tabla MySQL usando PHP en XAMPP

Cómo establecer la variable de entorno en Bash

Sustitución de variables de entorno en sed

cómo pasar la variable de entorno a sudo su