From 3b1594d343320fd7f54af69d934c9362bafb5c97 Mon Sep 17 00:00:00 2001 From: Jonas Staudenmeir Date: Sun, 19 May 2024 12:28:52 +0200 Subject: [PATCH] Use native MariaDB CLI commands --- src/Illuminate/Database/Console/DbCommand.php | 2 +- .../Database/Schema/MariaDbSchemaState.php | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/Illuminate/Database/Console/DbCommand.php b/src/Illuminate/Database/Console/DbCommand.php index b7561e08277f..38dde8bbd412 100644 --- a/src/Illuminate/Database/Console/DbCommand.php +++ b/src/Illuminate/Database/Console/DbCommand.php @@ -133,7 +133,7 @@ public function getCommand(array $connection) { return [ 'mysql' => 'mysql', - 'mariadb' => 'mysql', + 'mariadb' => 'mariadb', 'pgsql' => 'psql', 'sqlite' => 'sqlite3', 'sqlsrv' => 'sqlcmd', diff --git a/src/Illuminate/Database/Schema/MariaDbSchemaState.php b/src/Illuminate/Database/Schema/MariaDbSchemaState.php index f8323c4471f2..93fbba9b38a3 100644 --- a/src/Illuminate/Database/Schema/MariaDbSchemaState.php +++ b/src/Illuminate/Database/Schema/MariaDbSchemaState.php @@ -4,6 +4,23 @@ class MariaDbSchemaState extends MySqlSchemaState { + /** + * Load the given schema file into the database. + * + * @param string $path + * @return void + */ + public function load($path) + { + $command = 'mariadb '.$this->connectionString().' --database="${:LARAVEL_LOAD_DATABASE}" < "${:LARAVEL_LOAD_PATH}"'; + + $process = $this->makeProcess($command)->setTimeout(null); + + $process->mustRun(null, array_merge($this->baseVariables($this->connection->getConfig()), [ + 'LARAVEL_LOAD_PATH' => $path, + ])); + } + /** * Get the base dump command arguments for MariaDB as a string. * @@ -11,7 +28,7 @@ class MariaDbSchemaState extends MySqlSchemaState */ protected function baseDumpCommand() { - $command = 'mysqldump '.$this->connectionString().' --no-tablespaces --skip-add-locks --skip-comments --skip-set-charset --tz-utc --column-statistics=0'; + $command = 'mariadb-dump '.$this->connectionString().' --no-tablespaces --skip-add-locks --skip-comments --skip-set-charset --tz-utc'; return $command.' "${:LARAVEL_LOAD_DATABASE}"'; }