Tôi có dữ liệu lịch sử mà tôi muốn tải trong DB mới.Có cách nào để Laravel thực thi tệp .SQL để tải dữ liệu
Tôi có thể làm điều đó bằng cách chạy lệnh MySQL nhưng tôi quan tâm để biết liệu có artisan
lệnh để làm điều đó?
Tôi có dữ liệu lịch sử mà tôi muốn tải trong DB mới.Có cách nào để Laravel thực thi tệp .SQL để tải dữ liệu
Tôi có thể làm điều đó bằng cách chạy lệnh MySQL nhưng tôi quan tâm để biết liệu có artisan
lệnh để làm điều đó?
Không có cách nào để nhập DB dump out-of-the-box bằng cách sử dụng artisan
. Tuy nhiên, bạn có thể tạo ra một lệnh tùy chỉnh artisan
:
php artisan make:console DbImportCommand
và sau đó đã nó ra lệnh như:
DB::unprepared(file_get_contents('full/path/to/dump.sql'));
Tuy nhiên, nó có thể được thuận lợi để tạo ra một lệnh chạy một seeder (hoặc bộ seeders).
php artisan make:console importHistoricalData
và sau đó có mà chạy báo tín hiệu cụ thể:
$this->call(OldCompanySeeder::class);
$this->call(OldEmployeeSeeder::class);
// etc....
Nếu bạn xóa các dữ liệu tại một số điểm, hoặc chuyển sang một môi trường mới, nó đơn giản như chỉ chạy báo tín hiệu một lần nữa.
Tôi biết về seeder nhưng ở đây tôi đang nhập hàng ngàn hồ sơ. – Volatil3
Sau đó đề xuất đầu tiên của tôi có thể phù hợp hơn. Bạn cũng có thể xem Seeders ở đây: http://laravel.com/docs/5.1/seeding – djt