laravel 执行迁移回滚示例

20 2019-10-23 22:33

Laravel鼓励敏捷、迭代的开发方式,我们没指望在第一次就获得所有正确的。 

我们对于自己编写和设计数据库,可以通过迁移文件,不断的重复去测试. 但是有些时候我们需要去执行迁移回滚

(1) 建议使用

执行上一次迁移回滚

如果是本地开发(一般都在前期开发)

执行:php artisan migrate:rollback(迁移文件在/database/migrations下)

如果是在文件夹下的回滚呢?

执行:php artisan migrate:rollback --path=/database/migrations/你的文件夹

执行同一个目录下的回滚

php artisan migrate:refresh 指定文件夹下的回滚同上

其实笔者还有个很土的方法,直接删除migrations表的迁移表数据,然后再删除表。再回去执行迁移。简单粗暴。但是此方式只适合本地开发。请不要在正式环境使用

(2) 三种回滚操作

php artisan migrate:rollback 在写迁移时偶尔也会犯错误。如果你已经运行了迁移,那么你不能只是编辑迁移和再次运行迁移: Laravel假定它已经运行了迁移,那么当你再次运行artisan migrate,不会做任何事情。你必须使 用artisan migrate:rollback回滚迁移,然后编辑迁移,再运行artisan migrate去运行正确的版本。

php artisan migrate:reset 回滚所有的迁移(会删掉所有表和数据,尽量不要使用此操作)

php artisan migrate:refresh 将删除数据库、 重新创建它并将加载当前架构(数据会丢失)。这是一个方便快方 式去运行重置并随后重新运行所有迁移。