工匠迁移错误 140 错误的创建选项



我刚刚从基于 Vagrant 的本地主机设置转移到正在运行的 Docker 安装程序:

  • PHP 7.2.8
  • PHP-FPM 7.2.8
  • Mariadb 10.2.15 (webhippie/mariadb(

我执行了运行FPM的Docker机器并执行了php artisan migrate,但遇到了以下错误:

SQLSTATE[HY000]: General error: 1005 Can't create table `data`.`migrations` (errno: 140 "Wrong create options") (SQL: create table `migrations` (`id` int unsigned not null auto_increment primary key, `migration` varchar(191) not null, `batch` int not null) default character set utf8mb4 collate utf8mb4_unicode_ci engine = InnoDB ROW_FORMAT=DYNAMIC)

我有另一个 Laravel 安装使用相同的 Docker 机器运行,并且进行迁移没有问题。

从 erorr 消息来看,在 Laravel 创建迁移表期间似乎存在错误。我不知道下一步该怎么做。帮助?


更新:

尝试运行创建查询:

create table `migrations` (`id` int unsigned not null auto_increment primary key, `migration` varchar(191) not null, `batch` int not null) default character set utf8mb4 collate utf8mb4_unicode_ci engine = InnoDB ROW_FORMAT=DYNAMIC

删除选项ROW_FORMAT=DYNAMIC成功创建migrations表。移除它会影响拉拉维尔的运营吗?

我想我得到了答案。

我把engine = 'innodb ROW_FORMAT=DYNAMIC'定在config/database.php.我很久以前在尝试修复 Laravel 的密钥太长错误时就这样做了。有一个简单的修复(在链接中(,它将字符串长度限制为 191。因此,要解决此问题,只需将engine = 'innodb'engine = 'null'设置为config/databse.php.

看看这个 https://laracasts.com/discuss/channels/eloquent/migrations-and-table-options-row-format?page=0

如果它不起作用,请告诉我

更改配置/数据库.php

'connections' => [
...
'mysql' => [
...
'engine' => 'InnoDB ROW_FORMAT=DYNAMIC',
]
...

相关内容

  • 没有找到相关文章

最新更新