php - seeds - Elimina la migración de forma segura en Laravel
php artisan make model (5)
Accidentalmente creé dos veces create_users_table. Anuló algunas clases y convirtió la reversión en ErrorException.
Lo que debe hacer es buscar autoload_classmap.php en la carpeta del proveedor / compositor y buscar la línea de código específica, como
''CreateUsersTable'' => $baseDir . ''/app/database/migrations/2013_07_04_014051_create_users_table.php'',
y editar la ruta. Entonces tu reversión debería estar bien.
En Laravel, parece haber un comando para crear una migración, pero no para eliminarla.
Crear comando de migración:
php artisan migrate:make create_users_table
Si deseo eliminar la migración, ¿puedo eliminar de forma segura el archivo de migraciones correspondiente dentro de la carpeta de la base de datos / migraciones?
Archivo de migraciones:
2013_05_31_220658_create_users_table
Accidentalmente creé una migración con un mal nombre (comando: php artisan migrate:make
). No php artisan migrate
( php artisan migrate
) la migración, así que decidí eliminarla. Mis pasos:
- Elimine manualmente el archivo de migración en la
app/database/migrations/my_migration_file_name.php
- Restablecer los archivos de autocarga del compositor:
composer dump-autoload
- Relajarse
Si ejecutó la migración ( php artisan migrate
), puede hacer esto:
a) Ejecute migrate:rollback
: es la forma correcta de deshacer la última migración (Thnx @ Jabud)
b) Si migrate:rollback
no funciona, hágalo manualmente (recuerdo errores con migrate: rollback en versiones anteriores):
- Elimine manualmente el archivo de migración en la
app/database/migrations/my_migration_file_name.php
- Restablecer los archivos de autocarga del compositor:
composer dump-autoload
- Modifique su base de datos: elimine la última entrada de la tabla de migraciones
Es probable que también deba eliminar la entrada de la tabla de migraciones.
Estoy de acuerdo con las respuestas actuales, solo quiero agregar un poco más de información.
Se ha agregado una nueva característica a Laravel 5.3 y una versión superior que le permitirá retroceder una sola migración:
php artisan migrate:rollback --step=1
después, elimine manualmente el archivo de migración en la database/migrations/my_migration_file_name.php
Esta es una gran característica para cuando ejecuta una migración
De esta forma, puedes eliminar la migración de manera segura en laravel solo en 2 pasos
Si la migración se ha ejecutado (léase: migrado), debe retrotraer su migración para borrar el historial de la tabla de la base de datos. Una vez que haya retrocedido, podrá eliminar de manera segura su archivo de migración y luego continuar migrando.