如果不存在迁移,则 Laravel 流明迁移将失败



我现在创建了一个新的Lumen项目,没有任何迁移。由于我正在设置 CI,因此我想始终运行php artisan migrate以防万一在某个时候添加迁移。

这是我的 CI 服务器的 .env 文件:

APP_ENV=testing
APP_DEBUG=true
APP_KEY=base64:ROhueDv4THITTXXfOO14HsMNO/Po5hx1eQndrbt12cA=
APP_URL=http://jarvis-testing.easybell.de
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=jarvis_test
DB_USERNAME=dev
DB_PASSWORD=dev
CACHE_DRIVER=file

这是我database.php文件:

<?php
return [
'default'     => 'mysql',
'connections' => [
'mysql' => [
'driver'    => 'mysql',
'host'      => env( 'DB_HOST' ),
'port'      => env( 'DB_PORT' ),
'database'  => env( 'DB_DATABASE' ),
'username'  => env( 'DB_USERNAME' ),
'password'  => env( 'DB_PASSWORD' ),
'charset'   => 'utf8',
'collation' => 'utf8_unicode_ci',
]
]
];

当我运行php artisan migrate时,出现以下错误:

In Connection.php line 664:
SQLSTATE[42000]: Syntax error or access violation: 1103 Incorrect table name '' (SQL: create table `` (`id` int unsigned not null auto_increment primary key, `migration` varchar(255) not null, `batch` int not null) default character set utf8 collate utf8_unicode_ci)

In Connection.php line 452:
SQLSTATE[42000]: Syntax error or access violation: 1103 Incorrect table name ''

运行php artisan migrate:status时,输出为:

No migrations found.

所以从我的角度来看,Lumen在这一点上不应该做任何事情。我在这里错过了什么?

在迁移文件中,您必须在 on 函数中提及表名。

例:

$table->foreign('user_id')->references('id')->on('')
->onUpdate('cascade')->onDelete('cascade');

上面将显示一个错误,因此我们需要在函数中使用表名

$table->foreign('user_id')->references('id')->on('users')
->onUpdate('cascade')->onDelete('cascade');

相关内容

  • 没有找到相关文章

最新更新