我可以使用内存数据库启动Laravel服务器吗?

问题描述 投票:0回答:1

我可以使用内存来迁移我的数据库并启动服务器吗?

我的/配置/ database.php中

'sqlite' => array(
    'driver' => 'sqlite',
    'database' => ':memory:', // fail
    // 'database' => 'database', // success 
    'prefix' => '',
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
),

并迁移表并启动laravel服务

$ php artisan migrate:refresh 
$ php artisan serve

我使用driver = sqlite + database = database每个工作正常,

我使用driver = sqlite + database =:memory,错误信息来自127:0.0.1表示数据库表尚未创建。

laravel sqlite artisan
1个回答
4
投票

我不认为这是可能的,因为migrate命令将打开一个数据库连接,然后serve将具有一个或多个新连接。

数据库连接关闭后,数据库就不再存在。 Every:memory:数据库彼此不同。因此,打开两个数据库连接,每个数据库连接的文件名为“:memory:”,将创建两个独立的内存数据库。

https://www.sqlite.org/inmemorydb.html

© www.soinside.com 2019 - 2024. All rights reserved.