我正在尝试为Laravel 5.4应用程序设置迁移和种子设定。 迁移和播种适用于mysql db。 但是当我尝试在内存db中的sqlite上运行它时,在我看来数据库仍然是空的。迁移显然已经开始,但是播种抱怨缺少桌子。
我只是在database.php中配置了sqlite
'sqlite_memory' => [
'driver' => 'sqlite',
'database' => ':memory:',
'prefix' => '',
],
我将默认连接设置为
'default' => env('DB_CONNECTION', 'test_sqlite'),
我已经从database.php和.env中删除了所有其他类型的连接,以防万一。
成功运行php artisan migrate后,我输入sqlite3,我只看到一个db:
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .database
seq name file
--- ---------------
0 main
sqlite> .dbinfo
sqlite> .tables
sqlite>
在我看来里面什么都没有。 如果我尝试php artisan db:seed,我会立即在任何桌面上“没有这样的表错误”..
但我确实管理了使用文件db的sqlite。 我不知道如何解决这个问题...
答案 0 :(得分:0)
我相信只要当前连接打开,内存中的sqlite db就会持续。这两行“连接到瞬态内存数据库”。和'使用'。打开FILENAME“重新打开持久数据库。”建议迁移后db不再存储在内存中。