Skip to content

Commit d7741be

Browse files
committed
added Progress bars and the options single-transaction and set-gtid-purged=OFF
1 parent 8025622 commit d7741be

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

src/Console/DbSyncCommand.php

+15-11
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public function handle(): bool
3838
$mysqldumpSkipTzUtc = config('dbsync.mysqldumpSkipTzUtc') ? '--skip-tz-utc' : '';
3939

4040
$targetConnection = config('dbsync.targetConnection');
41-
41+
4242
$localUsername = config('database.connections.mysql.username');
4343
$localPassword = config('database.connections.mysql.password');
4444
$localHostname = config('database.connections.mysql.host');
@@ -59,28 +59,32 @@ public function handle(): bool
5959
$ignoreString .= " --ignore-table=$database.$name";
6060
}
6161

62+
$totalSteps = 2;
63+
$progressBar = $this->output->createProgressBar($totalSteps);
64+
6265
if ($useSsh === true) {
6366
echo($mysqlHostName . PHP_EOL);
64-
exec("ssh $sshUsername@$host -p$sshPort mysqldump -P$port -h$mysqlHostName -u$username -p$password $database $ignoreString > $fileName", $output);
67+
exec("ssh $sshUsername@$host -p$sshPort mysqldump --single-transaction --set-gtid-purged=OFF --port=$port --host=$mysqlHostName --user=$username --password=$password $database $ignoreString > $fileName", $output);
6568
} else {
66-
exec("mysqldump -h$host -P$port -u$username -p$password $database $ignoreString $mysqldumpSkipTzUtc --column-statistics=0 > $fileName", $output);
69+
exec("mysqldump --single-transaction --set-gtid-purged=OFF --port=$port --host=$mysqlHostName --user=$username --password=$password $database $ignoreString $mysqldumpSkipTzUtc --column-statistics=0 > $fileName", $output);
6770
}
6871

69-
$this->comment(implode(PHP_EOL, $output));
72+
$progressBar->advance();
7073

71-
if ($importSqlFile === true) {
72-
$command = $localPassword
73-
? "$localMysqlPath -u$localUsername -h$localHostname -p$localPassword -P$localPort $localDatabase < $fileName"
74-
: "$localMysqlPath -u$localUsername -h$localHostname -P$localPort $localDatabase < $fileName";
75-
exec($command, $output);
76-
}
74+
$command = $localPassword
75+
? "$localMysqlPath -u$localUsername -h$localHostname -p$localPassword -P$localPort $localDatabase < $fileName"
76+
: "$localMysqlPath -u$localUsername -h$localHostname -P$localPort $localDatabase < $fileName";
77+
exec($command, $output);
78+
79+
$progressBar->advance();
80+
$progressBar->finish();
7781

7882
if ($removeFileAfterImport === true) {
7983
unlink($fileName);
8084
}
8185
}
8286

83-
$this->comment('DB Synced');
87+
$this->comment("\nDB Synced");
8488

8589
return true;
8690
}

0 commit comments

Comments
 (0)