Laravel 5.4 数据库迁移一次之后就不起作用!

Laravel 5.4 数据库迁移一次之后就不起作用!

https://segmentfault.com/q/1010000010806351

我在命令行中生成了一个新的迁移脚本:

Laravel 5.4 数据库迁移一次之后就不起作用!
当我执行命令:php artisan migrate 时 显示迁移成功,并且在数据库中已经有了这些表:

Laravel 5.4 数据库迁移一次之后就不起作用!

我现在需要对这张表中的某个字段进行改名,所以我又生成了一个迁移,在里面写上:

Laravel 5.4 数据库迁移一次之后就不起作用!
去数据库看 更新成功,可是如果我现在再改的话,比如把 title2 再改回title 直接在这个文件中改,再执行迁移命令,出现这个提示:

Laravel 5.4 数据库迁移一次之后就不起作用!
好像没有走这步代码。

请问什么不能改了,难道还要再创建一个迁移脚本吗?改一次创建一个肯定不现实

 解答:

是这样的,数据库有张migrate表,里面记录了你每次执行的migrate迁移文件,你把feedback表的字段title改为title2,migrate表已经记录了这个迁移文件,比如你把title2再改回title,此时是不行的。
做法:
1 执行php artisan migrate:rollback 回滚上一步操作,回滚的依据是down()方法里跟up方法相反的操作,比如up是新增一个字段,down里就是删除这个字段,此时再把up方法里title2改回title,php artisan migrate即可
2 再写个新的迁移文件

暴力操作:删除migrate表中对应的记录,执行php artisan migrate即可

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112555.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号