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

Can I start my Laravel server using memory database?

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

My/config/database.php

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

并迁移 table 并开始 laravel 服务

$ php artisan migrate:refresh 
$ php artisan serve

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

我用的是driver=sqlite + database=:memory,错误信息来自127:0。0.1说数据库table还没有创建。

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

The database ceases to exist as soon as the database connection is closed. Every :memory: database is distinct from every other. So, opening two database connections each with the filename ":memory:" will create two independent in-memory databases.

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

对于任何想要快速调试的人,您可以将 sqlite 数据库文件设置到 /tmp 目录。例如:

DB_CONNECTION=sqlite
DB_DATABASE=/tmp/example-database.sqlite