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

时间:2019-03-11 10:23:05

标签: laravel sqlite artisan

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

My / config / 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,表示尚未创建数据库表。

1 个答案:

答案 0 :(得分:4)

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

  

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

     

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