Skip to content

Commit 61680c9

Browse files
Fix bug with append option
1 parent 9bc0f80 commit 61680c9

5 files changed

Lines changed: 12 additions & 18 deletions

File tree

src/Services/DatabaseBackup/AbstractDatabaseBackup.php

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,23 @@ abstract class AbstractDatabaseBackup implements DatabaseBackupInterface
3333
*
3434
* @var array
3535
*/
36-
protected $classNames;
36+
protected $classNames = [];
3737

3838
public function __construct(ContainerInterface $container, FixturesLoaderFactory $fixturesLoaderFactory)
3939
{
4040
$this->container = $container;
4141
$this->fixturesLoaderFactory = $fixturesLoaderFactory;
4242
}
4343

44-
public function init(array $metadatas, array $classNames): void
44+
public function init(array $metadatas, array $classNames, bool $append = false): void
4545
{
4646
$this->metadatas = $metadatas;
47-
$this->classNames = $classNames;
47+
48+
if ($append) {
49+
$this->classNames = array_merge($this->classNames, $classNames);
50+
} else {
51+
$this->classNames = $classNames;
52+
}
4853
}
4954

5055
/**

src/Services/DatabaseBackup/DatabaseBackupInterface.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919
interface DatabaseBackupInterface
2020
{
21-
public function init(array $metadatas, array $classNames): void;
21+
public function init(array $metadatas, array $classNames, bool $append = false): void;
2222

2323
public function getBackupFilePath(): string;
2424

src/Services/DatabaseBackup/MongodbDatabaseBackup.php

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,6 @@ final class MongodbDatabaseBackup extends AbstractDatabaseBackup implements Data
2525

2626
protected static $databases;
2727

28-
public function init(array $metadatas, array $classNames): void
29-
{
30-
$this->metadatas = $metadatas;
31-
$this->classNames = $classNames;
32-
}
33-
3428
public function getBackupFilePath(): string
3529
{
3630
return $this->container->getParameter('kernel.cache_dir').'/test_mongodb_'.md5(serialize($this->metadatas).serialize($this->classNames));

src/Services/DatabaseBackup/MysqlDatabaseBackup.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ final class MysqlDatabaseBackup extends AbstractDatabaseBackup implements Databa
2222
{
2323
protected static $referenceData;
2424

25-
protected static $sql;
26-
2725
protected static $metadata;
2826

2927
protected static $schemaUpdatedFlag = false;
@@ -40,11 +38,7 @@ public function getReferenceBackupFilePath(): string
4038

4139
protected function getBackup()
4240
{
43-
if (empty(self::$sql)) {
44-
self::$sql = file_get_contents($this->getBackupFilePath());
45-
}
46-
47-
return self::$sql;
41+
return file_get_contents($this->getBackupFilePath());
4842
}
4943

5044
protected function getReferenceBackup(): string

src/Services/DatabaseTools/ORMDatabaseTool.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,9 @@ public function loadFixtures(array $classNames = [], bool $append = false): Abst
9696
$this->createDatabaseIfNotExists();
9797

9898
$backupService = $this->getBackupService();
99+
99100
if ($backupService) {
100-
$backupService->init($this->getMetadatas(), $classNames);
101+
$backupService->init($this->getMetadatas(), $classNames, $append);
101102

102103
if ($backupService->isBackupActual()) {
103104
if (null !== $this->connection) {

0 commit comments

Comments
 (0)