No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

1D
15H
34M
45S

C贸mo funcionan las migraciones

13/36
Recursos

Aportes 7

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Buena clase, hasta ahora creo que el usar diagramas hace mucho m谩s f谩cil entender todo.
Actualmente trabajo como desarrollador RoR, estoy viendo este curso para ver si encuentro dudas y apoyar a la comunidad, ya saben, compartir para reforzar el aprendizaje. Pero veo que es muy muy nuevo el curso y las clases no tienen preguntas a煤n.

C脫MO FUNCIONAN LAS MIGRACIONES

Componentes de las migraciones de base de datos:

  • db/migrate directorio que lleva los procesos donde se hacen las modificaciones entre modelos y tablas. Sus archivos se llamar谩n Migration 1, 2, N 鈥 Y estos permiten crear, editar o eliminar atributos y columnas de la base de datos. Estos procesos se reflejan en el schema.
  • Schema condensa las estructuras de los modelos de las tablas de la base de datos. Aqui se ve la equivalencia entre la base de datos y los modelos.
    En el archivo db/migrate podemos ver las migraciones que hemos creado. Si vamos a uno de estos archivos podemos ver: El nombre del modelo :pets (que ser铆a la tabla) y sus atributos :name y :breed (que serian las columnas)
class CreatePets < ActiveRecord::Migration[6.1]
  def change
    # Por buena pr谩ctica el modelo tiene nombre en plural
    create_table :pets do |t|
      t.string :name
      t.string :breed

      t.timestamps
    end
  end
end

En el archivo db/schema podemos ver la versi贸n de nuestra base de datos, referenciada con la base de datos. Tambien podemos ver la estructura de nuestras migraciones.
_
Para ver el estado de nuestras migraciones usamos el comando rails db:migrate:status con esto podremos ver el nombre de la migraci贸n, su ID, y su estado.

Una migraci贸n consiste en una serie de instrucciones escritas en Ruby para modificar el esquema de la base de datos.

`

Para ejecutar las migraciones pendientes:

$ rails db:migrate

Para revertir la ultima migraci贸n:

$ rails db:rollback

Para conocer el estado de las migraciones:

$ rails db:migrate:status

Migraciones

Componentes de las migraciones de base de datos:

  • db/migrate: En esta carpeta se encuentran cada uno de procesos en los que se hacen modificaciones entre modelos y tablas. En cada archivo es donde se van a crear, editar o eliminar tablas y atributos dentro de la base de datos y cada uno de estos procesos se ver谩 reflejado en el Schema.
  • Schema: Aqu铆 se encuentran las estructuras que se han generado de los modelos y constraints dentro de las tablas de la base de datos
  • schema_migrations: Es una tabla oculta se guarda cada una de las migraciones por convenci贸n y el estado de las mismas respecto de la versi贸n de ese momento de la base de datos.

Este sistema le permite a Rails tener una estructura consistente para dar seguridad de que la base de datos y la aplicaci贸n est谩n alineadas.

Las migraciones son muy importantes. Tienen un gran poder. Si por ejemplo por alguna actualizaci贸n se debe agregar un atributo a un modelo es en las migraciones donde indicaremos el valor de ese atributo en los distintos registros de los registros de ese modelo ya creados. Por ejemplo, Digamos en en nuestro modelo perro queremos agregar el atributo color. Pero ya existen registros creados en esa tabla, el atributo se crear谩 de igualmanera en estos registros previamente existentes, por lo que hay que indicar que valor tendr谩n esos atributos, puede ser nil , o vacio con un string 鈥溾 o puede que le pongamos a todos un color. O incluso podemos hacer que el color dependa de otro atributo como el breed.

las migraciones es lo que verdaderamente diferencia los framework de trabajar plano con el lenguaje

Creo que como referencia es bueno tener a la mano la documentaci贸n, aqui esta la de migraciones:
https://guides.rubyonrails.org/active_record_migrations.html