mirror of
https://github.com/silverstripe/silverstripe-testsession
synced 2024-10-22 14:06:00 +02:00
Compare commits
2 Commits
051fe891af
...
87b4f99f91
Author | SHA1 | Date | |
---|---|---|---|
|
87b4f99f91 | ||
|
5d14e87748 |
@ -570,18 +570,14 @@ class TestSessionEnvironment
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Connect to database
|
// Connect to database
|
||||||
DB::connect($databaseConfig);
|
$this->connectToDB($databaseConfig);
|
||||||
} else {
|
} else {
|
||||||
// We've already connected to the database, do a fast check to see what database we're currently using
|
// We've already connected to the database, do a fast check to see what database we're currently using
|
||||||
$db = DB::get_conn()->getSelectedDatabase();
|
$db = DB::get_conn()->getSelectedDatabase();
|
||||||
if (isset($state->database) && $db != $state->database) {
|
if (isset($state->database) && $db != $state->database) {
|
||||||
$this->oldDatabaseName = $databaseConfig['database'];
|
$this->oldDatabaseName = $databaseConfig['database'];
|
||||||
$databaseConfig['database'] = $state->database;
|
$databaseConfig['database'] = $state->database;
|
||||||
DB::connect($databaseConfig);
|
$this->connectToDB($databaseConfig);
|
||||||
// This is required for CMS 5.4+
|
|
||||||
if (method_exists(DB::class, 'hasConfig') && DB::hasConfig('primary')) {
|
|
||||||
DB::connect($databaseConfig, 'primary');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -617,4 +613,15 @@ class TestSessionEnvironment
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function connectToDB(array $databaseConfig): void
|
||||||
|
{
|
||||||
|
if (method_exists(DB::class, 'hasConfig') && DB::hasConfig('primary')) {
|
||||||
|
// CMS 5.4+ - ensure we connect the primary connection and not a replica
|
||||||
|
DB::connect($databaseConfig, 'primary');
|
||||||
|
} else {
|
||||||
|
// CMS 5.3 and below do not support replica connections
|
||||||
|
DB::connect($databaseConfig);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user