es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

En Rails 6, ¿cómo puedo agregar “protocolo” a mis configuraciones de base de datos?

Tengo mi base de datos MySql 5.7 ejecutándose en un servidor virtual, cuyo puerto 3306 está redirigido a mi local. Puedo conectarme usando lo siguiente:

mysql -h localhost --protocol=tcp -u mouser mydb_test -p

Lo cual fallaría si los parámetros “–protocol=tcp” no estuvieran presentes. Por lo tanto, estoy tratando de averiguar cómo agregar “protocol” a mi archivo de configuración database.yml para Rails 6. Descubrí que la siguiente configuración no es correcta:

test:
  adapter: mysql2
  encoding: utf8
  host: localhost
  database: mydb_test
  pool: 5
  username: mouser
  password: mypass
  protocol: tcp
  variables:
    sql_mode: NO_ENGINE_SUBSTITUTION

Ya que obtengo errores de conexión al intentar conectarme a la base de datos.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para agregar el parámetro de protocolo a la configuración de database.yml para Rails 6, debes seguir los siguientes pasos:

    1. Abre tu archivo database.yml ubicado en la carpeta config de tu aplicación Rails.
    2. Bajo la configuración para el entorno de pruebas, agrega la siguiente línea:

      adapter: mysql2
      encoding: utf8
      host: localhost
      database: mydb_test
      pool: 5
      username: mouser
      password: mypass
      socket: /ruta/a/mysqld.sock
      variables:
        sql_mode: NO_ENGINE_SUBSTITUTION
    
    1. Reemplaza /ruta/a/mysqld.sock con la ruta de tu archivo mysqld.sock.

    2. Guarda el archivo y reinicia tu servidor Rails.

    Después de realizar estos cambios, deberías poder conectarte a tu base de datos MySQL utilizando la aplicación Rails sin necesidad de especificar el parámetro de protocolo.

Comments are closed.