Dapatkah saya menggunakan memori untuk memigrasi database saya dan memulai server?

My/config/database.php

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

Dan Migrasikan tabel dan mulai laravel serve

$ php artisan migrate:refresh 
$ php artisan serve

Saya menggunakan driver=sqlite + database=database setiap bekerja dengan baik,

Saya menggunakan driver=sqlite + database=:memory, pesan kesalahan datang dari 12:0.0.1 mengatakan tabel database belum dibuat.

1
Samuel Lui 11 Maret 2019, 13:23

1 menjawab

Jawaban Terbaik

Saya tidak berpikir ini mungkin, karena perintah migrasi akan membuka satu koneksi database dan kemudian melayani akan memiliki satu atau lebih koneksi baru.

Basis data tidak ada lagi segera setelah koneksi basis data ditutup. Setiap :memori: database berbeda satu sama lain. Jadi, membuka dua koneksi database masing-masing dengan nama file ":memory:" akan membuat dua database dalam memori yang independen.

https://www.sqlite.org/inmemorydb.html

5
Travis Britz 11 Maret 2019, 10:29