1. spraw, aby zdalna lub produkcyjna baza danych akceptowała połączenie zdalne za pomocą karty wieloznacznej lub specjalnego adresu IP! poprzez jakiś plik cpanel lub config!
2. można rozszerzyć polecenie db artisan, takie jak "db: sync".
3. kod polecenia (jeszcze nie testowane):
$db_local = Config::get('database.'.env('DB_CONNECTION', 'db_local'));
$dump = "tmp.db";
exec("mysqldump --user={$db_local['username']} --password='{$db_local['password']}' --host={$db_local['host']} {$db_local['database']} --ignore-table={$db['database']}.some_table > $dump");
$db_remote = Config::get('database.'.env('DB_CONNECTION', 'db_remote'));
exec("mysql --user={$db_remote['username']} --password='{$db_remote['password']}' --host={$db_remote['host']} {$db_remote['database']} < $dump");
zrobiłem nie dodawać żadnych kontrolę funkcjonowania jak zwykle jest on przeznaczony do pracy.
Można na przykład zamiast polecenia, dodać trochę automatyzacji przy użyciu wydarzenia, crona słuchaczy ... jest wiele opcji, ale główną część logiki Sztuką jest: Definiowanie zmiennych środowiskowych dla połączeń 2 dB aw app config database.php, zdefiniuj swoje poświadczenia połączeń itd., a na końcu użyj mysqldump, mysqldump &.
Powodzenia
Wystarczy popatrzeć na Liquibase lub Flyway. Używają środowiska Java w tle, ale są prostymi narzędziami, które umożliwiają wykonanie zadania. –