Skip to content

Commit f162cac

Browse files
committed
Fix compatibility with doctrine/dbal v2
1 parent d551354 commit f162cac

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

src/Codeception/Module/Doctrine.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,13 @@ protected function retrieveEntityManager(): void
262262
);
263263
}
264264

265-
$this->em->getConnection()->getNativeConnection();
265+
$connection = $this->em->getConnection();
266+
if (method_exists($connection, 'getNativeConnection')) {
267+
$connection->getNativeConnection();
268+
} else {
269+
// @phpstan-ignore-next-line
270+
$connection->getWrappedConnection();
271+
}
266272
}
267273

268274
/**

tests/unit/Codeception/Module/Doctrine2Test.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,14 @@ protected function _setUp()
7171
require_once $dir . "/CircularRelations/C.php";
7272
require_once $dir . '/EntityWithUuid.php';
7373

74-
$connection = DriverManager::getConnection(['driver' => 'sqlite3', 'memory' => true]);
74+
$sqliteDriver = 'sqlite3';
75+
// The driver "sqlite3" is only available as-of doctrine/dbal:3.5
76+
// Use "pdo_sqlite" for older versions
77+
if (version_compare(InstalledVersions::getVersion('doctrine/dbal'), '3.5', '<')) {
78+
$sqliteDriver = 'pdo_sqlite';
79+
}
80+
81+
$connection = DriverManager::getConnection(['driver' => $sqliteDriver, 'memory' => true]);
7582

7683
if (version_compare(InstalledVersions::getVersion('doctrine/orm'), '3', '>=')) {
7784
$this->em = new EntityManager(

0 commit comments

Comments
 (0)