2016-02-01 50 views
2

我在內存中使用SQLite數據與我的Laravel應用程序進行測試。如何使用laravel從內存中的磁盤文件導入SQLite數據庫?

'database' => ':memory:' 

我需要的是運行測試之前 - 從現有的SQLite數據庫文件(不能用播種機,因爲有太多的數據已經)導入一些特定的數據。 如何在運行測試之前將數據從磁盤文件導入到內存中?

+0

因爲您需要執行此操作的[備份API](https://www.sqlite.org/backup.html)不適用於PHP,所以您至少不能使用PHP。 – Bogdan

回答

0

如果磁盤上有數據庫,則無需將內存保留在內存中。

當您第一次從磁盤讀取數據庫時,它將最終放到您的操作系統爲您保留的磁盤緩存中。所以實際上,當您讀取一次數據庫時,數據庫將駐留在內存中。

+0

您能否提供一些參考資料(可能來自文檔或源代碼),展示**整個數據庫**如何加載到內存中,因爲從性能的角度來看,這聽起來像是一種極不可能的方法(特別是在數據庫非常大)。據我所知,在讀取數據庫時涉及頁面緩存,但它受配置值的限制,併爲此設置較大的值可能不是從配置的角度看的一種好方法。 – Bogdan

+0

如果數據庫應該是一個內存數據庫,那麼數據庫開始時並不是很大。 既然是Sqlite數據庫,它也不是很大。 – opentokix

相關問題