gpt4 book ai didi

sqlite - laravel开发环境sqlite数据库不存在

转载 作者:IT王子 更新时间:2023-10-29 06:20:29 25 4
gpt4 key购买 nike

尝试在开发环境中使用sqlite。它似乎可以正确检测环境,但是当我尝试迁移到 development.sqlite 时,出现异常抛出“数据库不存在”

工匠命令

php artisan migrate --env=development

bootstrap/start.php

$env = $app->detectEnvironment(array(

'development' => array('localhost'),

));

应用程序/配置/开发/database.php

<?php

return array(
'default' => 'sqlite',

'connections' => array(
'sqlite' => array(
'driver' => 'sqlite',
'database' => __DIR__.'/../database/development.sqlite',
'prefix' => '',
)
)
);

据我所知,如果文件不存在,laravel 应该创建该文件,但由于它不存在,我尝试手动创建该文件,但仍然抛出异常。

更新:环境可能有些不对劲,因为如果我尝试对数据库使用 ':memory',也会发生同样的事情。

更新 2:我尝试运行示例单元测试但添加到 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);
}

虽然测试环境已经与 laravel 一起提供,但这也给出了相同的异常。所以我会看看是否可以找到任何新问题。

最佳答案

哇,错别字和错误的路径。

将 sqlite 数组从 config/database.php 复制到 config/development/database.php 我忘了更改 development.sqlite 文件的路径从

__DIR__.'/../database/development.sqlite'

__DIR__.'/../../database/development.sqlite'

对于内存测试,它应该是

':memory:'

代替

':memory'

关于sqlite - laravel开发环境sqlite数据库不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19069601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com