Migración de Rails a MongoDB con Mongoid: Configuración Inicial
Clase 4 de 34 • Curso Intermedio de Ruby on Rails
Resumen
¿Cómo comenzar la migración de un proyecto de Rails hacia MongoDB?
Embarcarse en la tarea de migrar un proyecto de Rails de una base de datos SQL como PostgreSQL a un sistema NoSQL como MongoDB puede parecer desafiante. Sin embargo, con planificación y conocimiento adecuado, el proceso puede ser más fluido de lo que imaginas. Este artículo te guiará a través de los pasos iniciales para ajustar tu proyecto Rails e integrar MongoDB.
¿Qué pasos debemos seguir para eliminar incompatibilidades con PostgreSQL?
Lo primero que necesitamos es realizar modificaciones en la estructura del proyecto para eliminar las tecnologías y módulos que ya no serán necesarios, comenzando por aquellos que generan conflictos. Estos incluyen principalmente módulos relacionados con Active Record y Active Storage, que no son compatibles con MongoDB y su gestor de datos, Mongoid.
-
Eliminar módulos no necesarios:
- Dirígete al archivo
application.rb
en la carpetaconfig
de tu proyecto. Allí, busca y comenta los módulos relacionados con Active Record y Active Storage. Esto incluye también Action Mailbox y Action Text, que dependen parcialmente de Active Record.
# config.active_record.whatever = ... # config.active_storage.whatever = ...
- Dirígete al archivo
-
Eliminar configuraciones de Postgres:
- Borra el archivo
database.sample
, ya que está preconfigurado para funcionar con PostgreSQL.
- Borra el archivo
-
Ajustar configuraciones de entornos:
- Dentro del directorio de
config/environments
, ajusta los archivosdevelopment.rb
,production.rb
ytest.rb
. Comenta cualquier referencia a Active Record y Active Storage para garantizar que no generen conflictos.
- Dentro del directorio de
¿Cómo ajustar las configuraciones del gestor MongoDB?
El siguiente paso crucial es preparar el sistema para trabajar con MongoDB mediante la integración de Mongoid en lugar de Active Record. La adaptabilidad y robustez de Mongoid facilitan este proceso, ya que actúa como un mapeador de documentos objeto.
-
Configurar Mongoid:
- En el archivo
config/initializers
, busca las líneas relacionadas con el ORM (Object-Relational Mapping) utilizado por Devise. Cambia las referencias de Active Record a Mongoid.
# config.orm = :active_record config.orm = :mongoid
- En el archivo
-
Modificar el Gemfile:
- Abre el
Gemfile
y elimina las gemasPG
yannotate
, ya que no son necesarias. Añade la gemamongoid
, de preferencia usando la dirección al repositorio oficial en GitHub para mantenerse al día con las últimas actualizaciones estables.
gem 'mongoid', github: "mongodb/mongoid", branch: 'master'
- Abre el
¿Cómo concluir los ajustes para utilizar Mongoid en Rails?
Finalmente, una vez configurados los archivos, debemos realizar los últimos pasos en la consola de comandos para consolidar los cambios realizados.
-
Instalar nuevas dependencias:
- En la consola, ejecuta el comando
bundle install
para instalar todas las nuevas dependencias del proyecto y eliminar aquellas que ya no son necesarias.
bundle install
- En la consola, ejecuta el comando
Siguiendo estos pasos, habrás completado la primera fase de la migración de tu aplicación hacia MongoDB. Este es solo el comienzo, y en futuros pasos, trabajarás en convertir los modelos de Active Record para que sean compatibles con Mongoid, permitiéndote aprovechar al máximo las capacidades de MongoDB. ¡Ánimo y sigue aprendiendo!