From fcf9a4f8887e9e47e184ef6dbb36b42d7f30f30e Mon Sep 17 00:00:00 2001 From: Brett Tasker Date: Sat, 22 Apr 2017 21:22:54 +1200 Subject: [PATCH] SS 4.0 - Update Database Captures to support Postgres & SQLite --- ...chManipulateCapture_PostgreSQLDatabase.php | 21 +++++++++++++++++++ ...earchManipulateCapture_SQLite3Database.php | 21 +++++++++++++++++++ code/search/updaters/SearchUpdater.php | 18 +++++++++------- 3 files changed, 53 insertions(+), 7 deletions(-) create mode 100644 code/search/captures/SearchManipulateCapture_PostgreSQLDatabase.php create mode 100644 code/search/captures/SearchManipulateCapture_SQLite3Database.php diff --git a/code/search/captures/SearchManipulateCapture_PostgreSQLDatabase.php b/code/search/captures/SearchManipulateCapture_PostgreSQLDatabase.php new file mode 100644 index 0000000..12906b3 --- /dev/null +++ b/code/search/captures/SearchManipulateCapture_PostgreSQLDatabase.php @@ -0,0 +1,21 @@ +getShortName(); + $dbClass = 'SilverStripe\FullTextSearch\Captures\SearchManipulateCapture_' . $type; + + // Check if Capture class exists. + if (!class_exists($dbClass)) { + return; + } - $dbClass = SearchManipulateCapture_MySQLDatabase::class; /** @var SS_Database $captured */ $captured = new $dbClass($databaseConfig); - // Framework 3.2+ ORM needs some dependencies set - if (method_exists($captured, "setConnector")) { - $captured->setConnector($current->getConnector()); - $captured->setQueryBuilder($current->getQueryBuilder()); - $captured->setSchemaManager($current->getSchemaManager()); - } + $captured->setConnector($current->getConnector()); + $captured->setQueryBuilder($current->getQueryBuilder()); + $captured->setSchemaManager($current->getSchemaManager()); // The connection might have had it's name changed (like if we're currently in a test) $captured->selectDatabase($current->getSelectedDatabase());