Для этого вам не нужно никаких дополнительных пакетов.
Предоставьте отдельные учетные данные для двух баз данных (локальной и оперативной) для database.php
файла конфигурации внутри массива соединений.
Пример:
'my-local-db' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
],
'my-live-db' => [
'driver' => 'mysql',
'host' => env('DB_LIVE_HOST', '127.0.0.1'),
'port' => env('DB_LIVE_PORT', '3306'),
'database' => env('DB_LIVE_DATABASE', 'forge'),
'username' => env('DB_LIVE_USERNAME', 'forge'),
'password' => env('DB_LIVE_PASSWORD', ''),
],
и установите их в env veriables
Теперь, например, вы хотите синхронизировать таблицу из живого в локальное
public function sync() {
// Connect to live database
$live_database = DB::connection('my-live-db');
// Get table data from production
foreach($live_database->table('table_name')->get() as $data){
// Save data to staging database - default db connection
DB::table('table_name')->insert((array) $data);
}
// Get table_2 data from production
foreach($live_database->table('table_2_name')->get() as $data){
// Save data to staging database - default db connection
DB::table('table_2_name')->insert((array) $data);
}
}
Надеюсь, это даст вам базовую концепцию синхронизации двух баз данных