Una vez las clases de migración están listas podemos aplicar las migraciones
a la base de datos. Para hacer esto usamos el comando de consola migrations:migrate
de la siguiente manera:
./vendor/bin/doctrine-module migrations:migrate
El comando de arriba aplica todas las migraciones disponibles una por una.
Los identificadores de la migración ejecutada se guardan en la tabla migrations
de la base de datos. Después de esto la tabla migrations
se verá de la siguiente
manera:
mysql> select * from migrations;
+----------------+
| version |
+----------------+
| 20160901114333 |
| 20160901114938 |
+----------------+
2 rows in set (0.00 sec)
Si quisiéramos actualizar o deshacer alguna versión especifica debemos especificar
el ID de migración como un argumento del comando migrations:migrate
de la
siguiente manera:
./vendor/bin/doctrine-module migrations:migrate 20160901114333
Además, podemos usar los alias 'prev', 'next' y 'first' par respectivamente para mover la base de datos a su estado previo, al estado próximo o al estado anterior a la primera migración (base de datos vacía).
You can also use 'prev', 'next' and 'first' aliases as version IDs which respectively move database to its previous state, next state or to the state before the first migration (empty database).
Así, con las migraciones podemos fácilmente movernos a través del histórico de migraciones y cambiar el esquema de base de datos como lo necesitemos. Sin embargo, hay que ser cuidadosos por que las migraciones pueden borrar parte de nuestros datos, así que aplicalas sabiamente.