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

Sam*_*Lui 1 sqlite laravel laravel-artisan

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

我的/配置/数据库.php

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

并迁移表并启动laravel服务

$ php artisan migrate:refresh 
$ php artisan serve
Run Code Online (Sandbox Code Playgroud)

我使用 driver=sqlite + database=database 一切正常,

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

Tra*_*itz 5

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

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

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