Skip to content

Commit

Permalink
AbstractDatabase: replace Mysql by Mariadb & fix sed illegal byte seq…
Browse files Browse the repository at this point in the history
…uence error on macOS
  • Loading branch information
stissot committed Oct 9, 2023
1 parent cdf2f85 commit 25e0952
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions src/Service/AbstractDatabase.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,10 @@ private static function dumpDataRemotely(string $remote, string $dumpFile): void
*/
final public static function dumpData(string $dumpFile): void
{
$mysqlArgs = self::getMysqlArgs();
$mariadbArgs = self::getMariadbArgs();

echo "dumping $dumpFile...\n";
$dumpCmd = "mysqldump -v $mysqlArgs | sed 's/DEFINER=[^*]*\\*/\\*/g' | gzip > $dumpFile";
$dumpCmd = "mariadb-dump -v $mariadbArgs | LC_CTYPE=C LANG=C sed 's/DEFINER=[^*]*\\*/\\*/g' | gzip > $dumpFile";
self::executeLocalCommand($dumpCmd);
}

Expand All @@ -70,7 +70,7 @@ private static function copyFile(string $remote, string $dumpFile): void
*/
final public static function loadData(string $dumpFile): void
{
$mysqlArgs = self::getMysqlArgs();
$mariadbArgs = self::getMariadbArgs();
$dumpFile = self::absolutePath($dumpFile);

echo "loading dump $dumpFile...\n";
Expand All @@ -82,7 +82,7 @@ final public static function loadData(string $dumpFile): void
_em()->getConnection()->close();

self::executeLocalCommand(PHP_BINARY . ' ./bin/doctrine orm:schema-tool:drop --ansi --full-database --force');
self::executeLocalCommand("gunzip -c \"$dumpFile\" | sed 's/ALTER DATABASE `[^`]*`/ALTER DATABASE `$database`/g' | mysql $mysqlArgs");
self::executeLocalCommand("gunzip -c \"$dumpFile\" | LC_CTYPE=C LANG=C sed 's/ALTER DATABASE `[^`]*`/ALTER DATABASE `$database`/g' | mariadb $mariadbArgs");
self::executeLocalCommand(PHP_BINARY . ' ./bin/doctrine migrations:migrate --ansi --no-interaction');
static::loadTriggers();
static::loadTestUsers();
Expand All @@ -96,7 +96,7 @@ private static function getDatabaseName(): string
return $dbConfig['dbname'];
}

private static function getMysqlArgs(): string
private static function getMariadbArgs(): string
{
/** @var array<string,int|string> $dbConfig */
$dbConfig = _em()->getConnection()->getParams();
Expand Down Expand Up @@ -181,17 +181,17 @@ protected static function loadTestUsers(): void
/**
* Import a SQL file into DB.
*
* This use mysql command, instead of DBAL methods, to allow to see errors if any, and
* This use mariadb command, instead of DBAL methods, to allow to see errors if any, and
* also because it seems trigger creation do not work with DBAL for some unclear reasons.
*/
final public static function importFile(string $file): void
{
$file = self::absolutePath($file);
$mysqlArgs = self::getMysqlArgs();
$mariadbArgs = self::getMariadbArgs();

echo 'importing ' . $file . "\n";

$importCommand = "echo 'SET NAMES utf8mb4;' | cat - $file | mysql $mysqlArgs";
$importCommand = "echo 'SET NAMES utf8mb4;' | cat - $file | mariadb $mariadbArgs";

self::executeLocalCommand($importCommand);
}
Expand Down

0 comments on commit 25e0952

Please sign in to comment.