初学laravel migrate常见错误解决
再执行 migrate 命令
OK,刚才的错误没了,不过我们又发现 contacts 表没有回滚, contacts 回滚失败的分析 通过 sequel pro 连上数据库查看 发现 contacts 表果然存在,但是 migration 表中已没有内容,想必再执行前面 migrate 命令的时候出现错误,contacts 的执行记录并没有写入 migrations 表中。我们可以重新执行 migrate 命令试试看。首先手动删除这两张表,也就是清空数据库,然后执行:
我们先忽视创建 contacts 表出现的错误,刷新 sequel pro 查看一下: 果然,migration 表中没有 contacts 的创建记录,这也就难怪执行 reset 的时候,会没有 contacts 的回滚操作了。 contacts 无法创建 branch_id 外键的解决 现在,我们已经执行了 migrate 命令,我们重新来看看这个最早出现的错误:
冷静下来分析一下,既然提示的是 SQL 错误,我们不妨在 sequel pro 中手工执行一下这条 SQL 语句。 果然,执行返回错误。 仔细查看语句并没有错误,一想,应该是 branch_id 类型声明和 branches 表中的 ID 类型不一致造成的吧。查看 contacts 的结构,发现 Unsigned 没有打钩,勾选后再执行增加外键的 SQL 语句,成功。 找到问题原因后,我们就清空数据库,修改 contacts 的 migration 文件,调整 branch_id 为:
再重新执行 migrate 命令,成功!
(编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |