我可以使用内存数据库启动我的 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.
对于任何想要快速调试的人,您可以将 sqlite 数据库文件设置到 /tmp
目录。例如:
DB_CONNECTION=sqlite
DB_DATABASE=/tmp/example-database.sqlite
我可以使用内存来迁移我的数据库并启动服务器吗?
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.
对于任何想要快速调试的人,您可以将 sqlite 数据库文件设置到 /tmp
目录。例如:
DB_CONNECTION=sqlite
DB_DATABASE=/tmp/example-database.sqlite