diff --git a/src/Migration/Environment.php b/src/Migration/Environment.php index 447ec340..a4ddf961 100644 --- a/src/Migration/Environment.php +++ b/src/Migration/Environment.php @@ -80,11 +80,11 @@ public function executeMigration(MigrationInterface $migration, string $directio // (statically narrowable for IDEs and static analysis), then a // method_exists fallback for migrations that haven't yet adopted // either ReversibleMigrationInterface or DirectionalMigrationInterface. - $isReversible = $migration instanceof ReversibleMigrationInterface + if ( + $migration instanceof ReversibleMigrationInterface || (!$migration instanceof DirectionalMigrationInterface - && method_exists($migration, MigrationInterface::CHANGE)); - - if ($isReversible) { + && method_exists($migration, MigrationInterface::CHANGE)) + ) { if ($direction === MigrationInterface::DOWN) { // Create an instance of the RecordingAdapter so we can record all // of the migration commands for reverse playback diff --git a/tests/comparisons/Migration/test_snapshot_with_on_update.php b/tests/comparisons/Migration/test_snapshot_with_on_update.php index a3e4c9ba..85d284b6 100644 --- a/tests/comparisons/Migration/test_snapshot_with_on_update.php +++ b/tests/comparisons/Migration/test_snapshot_with_on_update.php @@ -2,8 +2,9 @@ declare(strict_types=1); use Migrations\BaseMigration; +use Migrations\DirectionalMigrationInterface; -class TestSnapshotWithOnUpdate extends BaseMigration +class TestSnapshotWithOnUpdate extends BaseMigration implements DirectionalMigrationInterface { /** * Up Method.