Laravel 迁移错误:“唯一键太长,即使指定”
为列创建唯一键时可能会出现 Laravel 迁移错误超过允许的最大长度。在给定场景中,用户在尝试迁移包含长度为 320 个字符的电子邮件列的用户表时遇到此问题。
错误消息表明指定的键(电子邮件)太长,最大密钥长度为 767 字节。为了解决这个问题,推荐的解决方案是减少 email 列的长度。
Laravel 中字符串列的默认长度是 250 个字符。通过将电子邮件列设置为此长度,迁移应该会成功,并且不会出现唯一密钥长度错误。或者,可以根据应用程序的具体要求将电子邮件列设置为较小的长度。
对于 Laravel 5.4 及更高版本,可以使用额外的解决方案。通过编辑AppServiceProvider.php文件并在boot方法中设置一个默认字符串长度,可以调整所有字符串列的最大长度。
通过将Builder::defaultStringLength设置为较小的值,例如191 ,错误应该已解决,并且迁移可以成功进行。
以上是如何修复“即使指定了唯一密钥也太长”Laravel 迁移错误?的详细内容。更多信息请关注PHP中文网其他相关文章!