- 1

Curso Intermedio de Ruby on Rails: Migración y Optimización Avanzada
01:37 - 2

Migración de Rails a MongoDB con Mongoid y Pruebas Automatizadas
03:38 - 3

Gestión de Múltiples Versiones de MongoDB en Linux
13:21 - 4

Migración de Rails a MongoDB con Mongoid: Configuración Inicial
10:17 - 5

Migración de Modelos de Active Record a Mongoid
08:35 - 6

Migración completa de aplicaciones con MongoDB y Rails
15:55
Migración de Modelos de Active Record a Mongoid
Clase 5 de 34 • Curso Intermedio de Ruby on Rails
Contenido del curso
- 7

Pruebas Automatizadas: Introducción a TDD y BDD en Desarrollo de Software
10:11 - 8
Creación de Fábricas Automatizadas con FactoryBot y Faker en Rails
04:18 - 9

Integración de Librerías para Pruebas Automatizadas en Rails
13:24 - 10

Pruebas de Modelos en Rails con Mongoid y RSpec
13:41 - 11

Pruebas de Validación y Guardado en Modelos Rails
11:39 - 12

Validación y Pruebas de Modelos en Ruby on Rails
07:48 - 13

Pruebas de Integración en Rails: Configuración y Ejecución Básica
10:54 - 14

Creación y prueba de tareas con métodos POST en Rails
12:39 - 15

Automatización de Pruebas con Headless Browser y Capybara en Rails
05:03 - 16

Pruebas de Sistema con KPIBara y WebDriver en Rails
13:35 - 17

Automatización de Pruebas de Sistema con Selenium y JavaScript
15:24
- 22

Envío de Emails Automático al Crear Tareas
04:43 - 23

Introducción a Service Objects en Ruby on Rails
09:00 - 24

Pruebas de TDD para Service Object de Notificaciones por Correo
12:18 - 25

Creación de Service Objects para Envío de Correos en Ruby on Rails
13:04 - 26

Procesos en Background con Sucker Punch en Rails
12:51 - 27

Pruebas con Doubles en Rails usando Sucker Punch
12:10
- 28

Máquinas de Estado Finito: Conceptos y Aplicaciones Prácticas
07:32 - 29

Creación de Máquinas de Estados con AASM en Ruby on Rails
13:37 - 30

Creación de Service Object para Gestión de Estados de Tareas en Rails
08:37 - 31

Acciones de Controlador y Pruebas en Ruby on Rails
10:43 - 32

Integración de AJAX en Gestión de Estados de Tareas en Ruby on Rails
13:07
¿Cómo migrar modelos de Active Record a Mongoid?
Migrar modelos de Active Record a Mongoid es un proceso fundamental para aquellos que buscan mejorar la funcionalidad y flexibilidad de sus aplicaciones. Este cambio implica no solo la adopción de una nueva base de datos, sino también la revisión y adaptación de los modelos de datos anteriores. En este artículo, te guiaré paso a paso en este proceso para que puedas hacerlo de manera eficiente y eficaz.
¿Cuáles son los primeros pasos en la migración?
Para comenzar, debes dirigirte al directorio models de tu aplicación donde se encuentran todos los modelos que fueron creados previamente. Identifica aquellos asociados a tareas y al sistema de inicio de sesión, como el modelo user. Una parte crucial del proceso es eliminar el archivo application_record, ya que este archivo define una clase abstracta utilizada por Active Record que no será necesaria en Mongoid.
¿Cómo reemplazar la herencia por la composición de módulos?
Mongoid ofrece una manera diferente de estructura en comparación con Active Record. No se utiliza la herencia para establecer conexiones, sino la composición de módulos. Empezaremos migrando el modelo category:
class Category
include Mongoid::Document
include Mongoid::Timestamps
field :name, type: String
field :description, type: String
end
¿Qué implica la migración del modelo note?
Para el modelo note, además de reemplazar la herencia, es importante considerar las asociaciones de tipo belongs_to. En Mongoid, no es necesario definir explícitamente las claves foráneas, ya que se crean automáticamente:
class Note
include Mongoid::Document
include Mongoid::Timestamps
belongs_to :user
belongs_to :task
field :body, type: String
end
¿Cómo se maneja el método enum en Mongoid?
El modelo participante presenta un desafío particular debido al uso del método enum en Active Record. Mongoid no trata los enums de forma nativa, por lo que debemos crear una representación personalizada:
class Participante
include Mongoid::Document
include Mongoid::Timestamps
ROLES = { admin: 0, user: 1 }
field :role, type: Integer
def self.roles
ROLES
end
end
¿Qué hay que tener en cuenta al finalizar la migración?
Al finalizar la migración de tus modelos, es importante revisar y eliminar comentarios innecesarios. Ejecuta tu suite de pruebas para identificar posibles errores que se puedan corregir oportunamente. La migración a Mongoid no solo moderniza tu aplicación, sino que también mejora su rendimiento y escalabilidad. ¡Sigue adelante y continua aprendiendo siempre!