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

标签 laravel sqlite laravel-artisan

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

我的/config/database.php

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

迁移表并启动 laravelserve

$ php artisan migrate:refresh 
$ php artisan serve

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

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

最佳答案

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

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

关于laravel - 我可以使用内存数据库启动 Laravel 服务器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55099687/

相关文章:

android - 在升级应用程序时删除 SQLite 数据库

php - Laravel 如何在使用 tinker CLI 时查找和显示 Eloquent 模型上的动态属性?

laravel - 使用 Laravel 和 composer 发布自定义包文件

laravel - Laravel 应用程序关闭时会触发什么事件?

php - 连接 4 个具有相同 id laravel 的表

android - 使用Rest在Sqlite中存储数据

android - 我们如何知道我们的应用程序数据何时在 android 中被清除?

php - Laravel 5 清除 View 缓存

php - Laravel - 归档数据,删除和插入到另一个表

php - 可以更改日期时间本地输入的格式