Tutoriales

Configure la conexión de la base de datos usando las variables 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é utilizar variables de entorno para configurar la base de datos?

Cada aplicación Rails interactúa con su respectiva base de datos. Hay dos formas de conectarse a una base de datos en una aplicación Rails. Puede conectarse a una base de datos utilizando un archivo de configuración de base de datos llamado config/database.yml o usando una variable de entorno llamada ENV['DATABASE_URL']. Ya le mostramos cómo crear una aplicación Rails usando una Base de datos MySQL o un Base de datos PostgreSQL. En estos dos manuales configuramos la conexión a 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 el config/database.yml Archivo. Sin embargo, si el proyecto está alojado en un repositorio público de Git y hay muchos desarrolladores trabajando en él, no se recomienda mantener información confidencial como contraseñas en el config/database.yml Archivo. Además, los detalles de la base de datos de cada desarrollador pueden ser diferentes, p. Ej. B. Nombre de usuario y contraseña. Cada vez que presionamos el código, hay un conflicto en un archivo. Debido a esto, 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 usando las variables de entorno en la aplicación Rails

Supongo que tiene la última versión de Ruby on Rails en su computadora Linux. Si aún no ha instalado Ruby on Rails, consulte las instrucciones a continuación.

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 ostechnixapp::

$ rails new ostechnixapp -d mysql

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

$ rails new ostechnixapp -d postgresql

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

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

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

Fuente de ~/.bashrc Archivo para actualizar los cambios inmediatamente:

$ source ~/.bashrc
Agregar variable de entorno al archivo 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 está utilizando MySQL, agregue el nombre de usuario de la base de datos y la variable de entorno que agregamos al ~/.bashrc Archivo en el paso anterior bajo el default Sección. Agregué lo siguiente 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
[...]
Configure la conexión de la base de datos MySQL usando las variables de entorno
Configure la conexión de la base de datos MySQL usando las variables de entorno

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

Si está utilizando PostgreSQL, agregue el rol de la base de datos y la variable de entorno en default Sección de la siguiente manera:

[...]
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'] %>
[...]
Configure la conexión de la base de datos PostgreSQL usando las variables de entorno
Configure la conexión de la base de datos PostgreSQL usando las variables de entorno

Después de agregar el rol de usuario de la base de datos y las variables de entorno, presione ESC Clave y tipo :wq para guardar los cambios y salir del archivo.

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

$ rake db:create

Esto se debe a que este comando crea dos bases de datos ostechnixapp_development y ostechnixapp_test.

Created database 'ostechnixapp_development'
Created database 'ostechnixapp_test'

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

$ rails server -b 0.0.0.0

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

Página de prueba estándar de Ruby on Rails
Página de prueba estándar de Ruby on Rails

Como yo, debe configurar la conexión de la base de datos con una variable de entorno en una aplicación Rails si no desea dar la contraseña de la base de datos a otros desarrolladores. Si es el único desarrollador, puede usar el archivo de configuración de base de datos estándar.

Recurso:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba