时间:2021-05-26
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 将删除数据库、 重新创建它并将加载当前架构(数据会丢失)。这是一个方便快方 式去运行重置并随后重新运行所有迁移。
以上这篇laravel 执行迁移回滚示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
大批量执行DML语句造成回滚段大量占用,又回退操作,如何直观查询数据回滚情况?单机环境查询回滚执行进度selects.sid,r.na
事务回滚回滚逻辑如下:判断是否存在事务,只有存在事务才执行回滚根据异常类型判断是否回滚。如果异常类型不符合,仍然会提交事务回滚处理详细解析判断是否存在事务,只有
之前做项目用到了事务回滚这个机制。我把代码贴出来多多交流给点意见,我用的是laravel5.1bane版本的,publicstaticfunctioncreat
ThinkPHP的事务回滚示例如下:$m=D('YourModel');//或者是M();$m2=D('YouModel2');$m->startTrans()
在开发中,遇到了sql语句报错,但是并没有回滚的情况。经过几天的排查,终于找到了事务没有回滚的原因。原来的项目用的是informix的数据库,原来针对事务回滚的