Laravel 迁移新命令:Fresh(Laravel 5.5 新功能早知道)

file
用过 migrate:refresh 命令的人就知道,它不仅会回滚数据库的所有迁移,还会接着运行 migrate 命令。这对程序早期开发过程中对重建数据库有需求的人能起到很大的帮助。

Laravel 5.5 对此作了改进,创建了一个新的命令:migrate:fresh。 refresh 和 fresh 之间的区别在于,fresh 是跳过了所有的 down() 方法或者回滚,直接删除了所有的表,再运行 up() 方法重建数据库。

直接通过两者的命令运行结果,区别便清晰可见:

$ php artisan migrate:refresh

Rolling back: 2014_10_12_100000_create_password_resets_table
Rolled back:  2014_10_12_100000_create_password_resets_table
Rolling back: 2014_10_12_000000_create_users_table
Rolled back:  2014_10_12_000000_create_users_table
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table

现在,用 fresh 命令:

$ php artisan migrate:fresh

Dropped all tables successfully.
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table

当然比起跟新命令作对比,refresh 在最新的 5.4.17 版本中还是很有用的。因为这个版本中 迁移 up() 和 down() 是可选的。 你把 down() 去掉也还是可以快速重置本地数据库的。

新的迁移命令 migrate:fresh 将和计划于今年 7 月或 8 月发布的 Laravel 5.5 。

更新:当然如果你现在就想利用这条新命令,请查看 Spatie 的这个

更多资讯可前往 Laravel China 资讯站 查看~

参考链接:https://laravel-news.com/migrate-fresh

Stay Hungry, Stay Foolish.