Skip to content

Commit ae5350c

Browse files
committed
Fixes to problems found when running migrations with app
1 parent c108ec6 commit ae5350c

File tree

2 files changed

+21
-15
lines changed

2 files changed

+21
-15
lines changed

src/AntiMattr/MongoDB/Migrations/Configuration/Configuration.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,9 +304,9 @@ public function setFile($file)
304304
}
305305

306306
/**
307-
* @return string
307+
* @return string|null
308308
*/
309-
public function getFile(): string
309+
public function getFile(): ?string
310310
{
311311
return $this->file;
312312
}

src/AntiMattr/MongoDB/Migrations/Configuration/ConfigurationBuilder.php

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -141,25 +141,31 @@ public function build(): Configuration
141141
{
142142
$config = new Configuration($this->connection, $this->outputWriter);
143143

144-
$migrationsDirectory = $this->getDirectoryRelativeToFile(
145-
$this->configFile,
146-
$this->configParams['migrations_directory']
147-
);
148-
149-
$scriptsDirectory = $this->getDirectoryRelativeToFile(
150-
$this->configFile,
151-
$this->configParams['migrations_script_directory']
152-
);
153-
154144
$config->setName($this->configParams['name'])
155145
->setFile($this->configFile)
156146
->setMigrationsDatabaseName($this->configParams['database'])
157147
->setMigrationsCollectionName($this->configParams['collection_name'])
158148
->setMigrationsNamespace($this->configParams['migrations_namespace'])
159-
->setMigrationsDirectory($migrationsDirectory)
160-
->setMigrationsScriptDirectory($scriptsDirectory);
149+
;
161150

162-
$config->registerMigrationsFromDirectory($migrationsDirectory);
151+
if (!empty($this->configParams['migrations_directory'])) {
152+
$migrationsDirectory = $this->getDirectoryRelativeToFile(
153+
$this->configFile,
154+
$this->configParams['migrations_directory']
155+
);
156+
157+
$config->setMigrationsDirectory($migrationsDirectory)
158+
->registerMigrationsFromDirectory($migrationsDirectory);
159+
}
160+
161+
if (!empty($this->configParams['migrations_script_directory'])) {
162+
$scriptsDirectory = $this->getDirectoryRelativeToFile(
163+
$this->configFile,
164+
$this->configParams['migrations_script_directory']
165+
);
166+
167+
$config->setMigrationsScriptDirectory($scriptsDirectory);
168+
}
163169

164170
foreach ($this->configParams['migrations'] as $migration) {
165171
$config->registerMigration(

0 commit comments

Comments
 (0)