Skip to content

Commit 2c1f782

Browse files
authored
Merge pull request #1009 from cakephp/fix/dump-missing-migrations-dir
Fix dump command error when migrations directory does not exist
2 parents 0a586ed + 8141cc5 commit 2c1f782

2 files changed

Lines changed: 13 additions & 0 deletions

File tree

src/Command/DumpCommand.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,12 @@ public function execute(Arguments $args, ConsoleIo $io): ?int
112112
]);
113113
$config = $factory->createConfig();
114114
$path = $config->getMigrationPath();
115+
116+
if (!is_dir($path)) {
117+
$io->verbose('<info>No migrations directory found, skipping dump.</info>');
118+
119+
return self::CODE_SUCCESS;
120+
}
115121
$connectionName = (string)$config->getConnection();
116122
$connection = ConnectionManager::get($connectionName);
117123
assert($connection instanceof Connection);

tests/TestCase/Command/DumpCommandTest.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,13 @@ public function testExecuteSuccess(): void
8484
$this->assertEquals(['id', 'letter'], $generatedDump['letters']->columns());
8585
}
8686

87+
public function testExecuteNoMigrationsDirectory(): void
88+
{
89+
$this->exec('migrations dump --connection test --source NonExistentMigrations');
90+
91+
$this->assertExitSuccess();
92+
}
93+
8794
public function testExecutePlugin(): void
8895
{
8996
$this->loadPlugins(['Migrator']);

0 commit comments

Comments
 (0)