Laravel 迁移不适用于 MySQL (InnoDB)
Laravel migrations won't apply on MySQL (InnoDB)
大家好,
这是我第一次发帖!
我 运行 在我的新网络服务器上应用 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();
我的服务器
- Centos 7
- MySQL - InnoDB
- PHP 7.4
- 有控制面板
此外,我在本地主机上应用迁移没有问题,这让我相信这不是迁移结构的问题...
我 运行 没有想法,似乎无法在 Internet 上找到好的遮阳棚。有人能帮我吗 ?如果我忘记提供重要信息也请告诉我
问题实际上出在我编写迁移的方式上,如果其他人有这个问题,您可以在这里找到一个好的 awnser:
谢谢@brombeer 帮助我!
大家好,
这是我第一次发帖!
我 运行 在我的新网络服务器上应用 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();
我的服务器
- Centos 7
- MySQL - InnoDB
- PHP 7.4
- 有控制面板
此外,我在本地主机上应用迁移没有问题,这让我相信这不是迁移结构的问题...
我 运行 没有想法,似乎无法在 Internet 上找到好的遮阳棚。有人能帮我吗 ?如果我忘记提供重要信息也请告诉我
问题实际上出在我编写迁移的方式上,如果其他人有这个问题,您可以在这里找到一个好的 awnser:
谢谢@brombeer 帮助我!