【发布时间】:2022-04-02 20:23:50
【问题描述】:
我可以使用内存来迁移我的数据库并启动服务器吗?
我的/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 说数据库表还没有创建。
【问题讨论】:
-
您为什么要这样做?顾名思义,这些数据库存在于内存中。迁移过程完成后,内存数据库将被销毁。
-
因为我有API服务器和WWW服务器,我想用内存数据库启动我的API服务器,然后我可以从www到API服务器进行浏览器测试(HTTP请求)。这样我就可以 Ctrl+C 停止 API 服务器而不在 API 数据库中保存任何东西。
-
只需使用 SQlite 数据库。启动服务器时迁移,停止服务器后删除。
标签: laravel sqlite laravel-artisan