Попытка использовать sqlite в среде разработки. Кажется, что он правильно определяет среду, но когда я пытаюсь перейти на development.sqlite, я получаю исключение: "База данных не существует"
команда artisan
php artisan migrate --env=development
самозагрузки/start.php
$env = $app->detectEnvironment(array(
'development' => array('localhost'),
));
приложение/Config/разработка/database.php
<?php
return array(
'default' => 'sqlite',
'connections' => array(
'sqlite' => array(
'driver' => 'sqlite',
'database' => __DIR__.'/../database/development.sqlite',
'prefix' => '',
)
)
);
Насколько я знаю, laravel должен создать файл, если он не существует, но поскольку я не пытался вручную создать файл и все еще получаю исключение.
UPDATE: Может быть, что-то не так с env, потому что то же самое происходит, если я пытаюсь ": memory" для базы данных.
ОБНОВЛЕНИЕ 2: Я попытался запустить образец unit test, но добавлю к TestCase.php
/**
* Default preparation for each test
*
*/
public function setUp()
{
parent::setUp(); // Don't forget this!
$this->prepareForTests();
}
/**
* Creates the application.
*
* @return Symfony\Component\HttpKernel\HttpKernelInterface
*/
public function createApplication()
{
$unitTesting = true;
$testEnvironment = 'testing';
return require __DIR__.'/../../bootstrap/start.php';
}
/**
* Migrates the database and set the mailer to 'pretend'.
* This will cause the tests to run quickly.
*
*/
private function prepareForTests()
{
Artisan::call('migrate');
Mail::pretend(true);
}
И это тоже дает то же самое исключение, хотя тестирование env уже отправлено с laravel. Поэтому я посмотрю, смогу ли я найти какие-либо новые проблемы.