Cómo crear una nueva aplicación Ruby on Rails utilizando MySQL en lugar de SQLite

Al iniciar un nuevo proyecto Ruby on Rails, es posible que notes que la base de datos predeterminada está configurada en SQLite. Si bien SQLite es excelente para el desarrollo, muchos desarrolladores prefieren usar MySQL por su robustez y conjunto de características. Si buscas crear una nueva aplicación Rails utilizando MySQL, ¡has llegado al lugar correcto! En esta publicación, te guiaremos a través de los pasos para configurar una aplicación Ruby on Rails con MySQL como el adaptador de base de datos. ¡Vamos a sumergirnos!

Paso 1: Instalar MySQL

Antes de poder configurar MySQL para nuestra aplicación Rails, necesitamos asegurarnos de que MySQL esté instalado en tu sistema. Puedes instalarlo a través del gestor de paquetes de tu sistema operativo. Por ejemplo, en macOS, podrías usar Homebrew:

brew install mysql

Asegúrate de iniciar el servicio de MySQL después de la instalación:

brew services start mysql

Si estás en un sistema operativo diferente, consulta la documentación correspondiente para instalar MySQL.

Paso 2: Crear una Nueva Aplicación Rails

Ahora que tenemos MySQL instalado, vamos a crear una nueva aplicación Ruby on Rails. Puedes hacerlo ejecutando el siguiente comando en tu terminal:

rails new nombre_de_tu_aplicacion -d mysql

La opción -d mysql especifica que se debe utilizar MySQL como la base de datos para esta aplicación.

Paso 3: Configurar los Ajustes de la Base de Datos

Después de crear tu aplicación Rails, necesitas configurarla para conectarte a tu base de datos MySQL. Abre el archivo config/database.yml en el directorio de tu proyecto. Aquí es donde ajustarás la configuración:

development:
  adapter: mysql2
  database: db_name_dev
  username: tu_nombre_de_usuario
  password: tu_contraseña
  host: localhost
  socket: /tmp/mysql.sock

Explicación de los Parámetros:

  • adapter: Esto especifica qué adaptador de base de datos usar. Para MySQL, debe ser mysql2.
  • database: Nombre de tu base de datos. Puedes elegir cualquier nombre que desees para tu base de datos de desarrollo.
  • username: Tu nombre de usuario de MySQL. Asegúrate de que tenga los permisos correctos para la base de datos.
  • password: La contraseña para tu usuario de MySQL (dejar en blanco si no tienes).
  • host: El servidor donde se está ejecutando MySQL. “localhost” es el predeterminado.
  • socket: Esto es opcional, pero típicamente apunta a la ubicación del socket para MySQL.

Paso 4: Actualiza tu Gemfile

Para usar MySQL con Rails, necesitarás la gema mysql2. Abre tu Gemfile y agrega o descomenta la siguiente línea:

gem 'mysql2'

Si estás usando JRuby, deberías usar:

gem 'activerecord-jdbcmysql-adapter'

Luego ejecuta el siguiente comando para instalar las gemas necesarias:

bundle install

Paso 5: Crear y Migrar la Base de Datos

Ahora que hemos configurado todo, vamos a crear la base de datos y ejecutar las migraciones necesarias. Ejecuta los siguientes comandos en tu terminal:

rails db:create
rails db:migrate

Estos comandos crearán tu base de datos, aplicando cualquier migración existente para asegurar que el esquema de tu base de datos esté actualizado.

Conclusión

¡Y ahí lo tienes! Has configurado exitosamente una nueva aplicación Ruby on Rails para usar MySQL en lugar de SQLite. Esta configuración te permite aprovechar al máximo las capacidades de MySQL, proporcionando una base sólida para construir tus aplicaciones. ¡Feliz programación!