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

怎么办
  • 125

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

clipboard.png
当我执行命令:php artisan migrate 时 显示迁移成功,并且在数据库中已经有了这些表:

clipboard.png
clipboard.png

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

clipboard.png
去数据库看 更新成功,可是如果我现在再改的话,比如把 title2 再改回title 直接在这个文件中改,再执行迁移命令,出现这个提示:

clipboard.png
好像没有走这步代码。

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

回复
阅读 2.5k
1 个回答
✓ 已被采纳

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏