Я запускаю Laravel на OS X с использованием MAMP, и я пытаюсь выполнить некоторые модульные тесты с использованием PHPUnit и sqlite, однако, когда я запускаю свои тесты, я получаю ошибкуLaravel testing, нет такой таблицы, sqlite
General error: 1 no such table: users
Я попытался запустить мастер, чтобы вручную перенести базу данных с помощью теста --env =, который работает нормально, однако я все равно получаю сообщение об ошибке. Я даже звоню Artisan::call('migrate');
в методе SetUp.
/app/config/testing/database.php
return [
'default' => 'sqlite',
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'database' => ':memory:',
'prefix' => ''
],
]
];
EDIT: файл миграции:
Schema::create('users', function($table) {
$table->increments('id');
$table->string('email', 32)->unique();
$table->string('password', 64);
$table->string('username', 32)->unique();
$table->dateTime('birthdate');
$table->enum('status', array('ACTIVE', 'INACTIVE'));
$table->timestamps();
});
Schema::create('roles', function($table) {
$table->increments('id');
$table->string('name', 32);
});
Schema::create('role_user', function ($table) {
$table->increments('id');
$table->unsignedInteger('user_id');
$table->unsignedInteger('role_id');
$table->foreign('user_id')->references('id')->on('users');
$table->foreign('role_id')->references('id')->on('roles');
});
Можете ли вы показать нам свою миграцию, которая создает пользователей таблицы? Какую БД вы используете в остальной части вашего приложения? MySQL? –
Да, это mysql, я добавлю файл миграции, когда вернусь к работе. – Kao
Добавлено перемещение в редакторе – Kao