Modificar migrations

Modificar migrations en Laravel desde terminal

Al modificar una migración es necesario revertir para poder volver a efectuar la migración, ya que al ejecutar el comando migrate de artisan el proyecto no realiza cambio alguno.

  1. xip@DEBIAN:/var/www/laravel_styde$ php artisan migrate
  2. Nothing to migrate.
Para modificar un migration es posible revertir las migraciones con el comando reset:

  1. php artisan migrate:reset
Nota: El comando reset  revierte los migrations perdiendo la información que contengan las tablas.

Una vez realizado la acción anterior si es  posible efectuar el migrate de forma normal.

  1. php artisan migrate
Desde la versión 5.5 Laravel dispone del comando refresh que optimiza los dos comandos anteriores en uno.

  1. php artisan migrate:refresh
A diferencia de los métodos anteriores que eliminan las tablas y por tanto la información que contengan se pierde, existe la posibilidad de crear un nuevo archivo migration y realizar la modificación desde dicho archivo sin alterar el resto de archivos. Para crear un nuevo archivo desde la terminal:

  1. php artisan make:migration nuevo_archivo
Desde el nuevo archivo creado es posible incluir un nuevo campo desde su método up() y con el método after especificar posición en la tabla.

  1. public function up()
  2. {
  3. Schema::table("users",function(Blueprint $table)
  4. {
  5. $table->string("profession",50)->nullable()->after("password");
  6. });
  7. }
Y con el método down() eliminar el campo creado en up.

  1. public function down()
  2. {
  3. Schema::table("users",function(Blueprint $table)
  4. {
  5. $table->dropColumn("profession");
  6. });
  7. }

Una vez añadido ejecutar el migration nuevamente:

  1. php artisan migrate

Al realizar cada migrate se almacena un registro de lotes en la tabla migrations que sirve de guia para poder revertir los cambios cuando se realiza un reset o un refresh. Existe otro comando que permite revertir dichos lotes paso a paso, es el comando rollback

  1. php artisan migrate:rollback

Comentarios: 0

Para poder comentar es necesario iniciar sesión



Este dominio utiliza cookies de terceros para crear estadísticas y publicidad personalizada. Si continúa navegando está aceptando su uso