php - Laravel 迁移不适用于 MySQL (InnoDB)
问题描述
大家好,
这是我第一次发帖!
在我的新 Web 服务器上应用laravel 8迁移时遇到问题。在尝试部署我的项目时,我无法应用迁移,我不知道为什么。
下面的错误图像和我的迁移,我正在使用php artisan migrate --seed
命令
迁移时输出的消息:
我的外键迁移:
该问题似乎与外键约束有关,但可能是由于其他原因。我的服务器在 InnoDB 上运行 MySQL,所以我怀疑存在兼容性问题,但我仍然不知道如何解决它。
我试过:
- 一个一个地应用迁移,以便约束将引用已经存在的外键。没用
- 在 config/database.php 中将我的引擎更改为 InnoDB。没用
- 使用命令行手动导入我的数据库。没用
- 将 DB_ENGINE = InnoDB 添加到 .env 文件。没用
- 从 切换
$table->foreign('idUser')->references('id')->on('users');
到$table->foreignId('idUser')->nullable->constrained();
我的服务器
- 森托斯 7
- MySQL-InnoDB
- PHP 7.4
- 有控制面板
另外,我在 localhost 上应用迁移没有问题,这让我相信这不是迁移结构的问题......
我的想法不多了,似乎在互联网上找不到好的遮阳篷。有人能帮我吗 ?如果我忘记提供重要信息,请告诉我
解决方案
问题实际上在于我编写迁移的方式,如果其他人有这个问题,你可以在这里找到一个好的 awnser:laravel-8-foreign-key
谢谢@brombeer 帮助我!
推荐阅读
- python - Spark 模型在 pyspark 中保存后对 os 不可见
- java - 禁用 Spring Boot 参数解析
- ruby-on-rails - gem install pg for ruby on rails,错误消息:缺少必要的库和/或标头
- gremlin - gremlin 查询以将值列表添加为边缘属性
- java - 在 Android Studio 的一个类中声明多个变量
- java - 如何从管道分隔文件中提取动态填充的字母数字单词
- ruby-on-rails - 在 Heroku 上部署 Ruby on Rails 应用程序的一些错误
- arrays - Bash 中的列表是什么?
- javascript - 社区标准和利弊?破坏性与非破坏性迭代
- java - Android Studio Activity_main.xml