Laravel Lumen Миграции не удаются, если нет миграций - PullRequest
0 голосов
/ 31 мая 2018

Я создал новый проект Lumen без каких-либо миграций.Поскольку я настраиваю CI, я бы хотел всегда запускать php artisan migrate на всякий случай, если в какой-то момент добавляются миграции.

Вот мой файл .env для сервера CI:

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.

Так что, с моей точки зрения, Люмен просто не должен ничего делать в этой точке.Что мне здесь не хватает?

1 Ответ

0 голосов
/ 31 мая 2018

В вашем файле миграции вы должны упомянуть имя таблицы в функции on.

Пример:

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

выше покажет ошибку, поэтому нам нужно использовать имя таблицы вфункция

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