在 Laravel 6 的模块中,数据库迁移的回滚(提示:Migration not found)与重新迁移
1、发现 Git 库中,数据库迁移文件,有了一些变更,如:字段 mine_type 修改为 mime_type。如图1
2、2 个数据库迁移文件,恰好在最后一次迁移中。如图2
3、回滚迁移,如果要回滚最后一次迁移操作,可以使用 Artisan 命令 rollback。该命令会回滚最后「一批」的迁移,这可能包含多个迁移文件,提示:Migration not found。如图3
PS E:\wwwroot\object> php artisan migrate:rollback Migration not found: 2021_12_13_145303_create_theme_asset_version_table Migration not found: 2021_12_06_133918_create_theme_asset_table PS E:\wwwroot\object>
4、原因应该在于此 2 个迁移文件,是放在模块中的,其路径为:/Modules/ThemeStore/Database/Migrations,在默认路径:/database/migrations 下不存在。
5、模块的实现基于:nwidart/laravel-modules,执行 module:migrate-rollback 命令。执行成功,如图4
PS E:\wwwroot\object> php artisan module:migrate-rollback ThemeStore Rollback: 2021_12_13_145303_create_theme_asset_version_table Rollback: 2021_12_06_133918_create_theme_asset_table PS E:\wwwroot\object> php artisan module:migrate ThemeStore Migrating: 2021_12_06_133918_create_theme_asset_table Migrated: 2021_12_06_133918_create_theme_asset_table (0.26 seconds) Migrating: 2021_12_13_145303_create_theme_asset_version_table Migrated: 2021_12_13_145303_create_theme_asset_version_table (0.02 seconds) PS E:\wwwroot\object>
6、查看数据表,字段名已经变更为:mime_type。如图5
近期评论