From e2b110a611ea60e0a2070eccb3f497a5de68061f Mon Sep 17 00:00:00 2001 From: Dave Shoreman Date: Fri, 29 Apr 2016 18:39:26 +0100 Subject: [PATCH] Disable strict mode before running migrations This will ensure strict mode is not applied while running migrations for both modules and plugins, either when installing or removing. We don't need to call disableStrictMode from UpdateManager::uninstall() as it is called within the plugin removal methods, which are run first. To force strict mode to be enabled, set 'strict' => true in the database config. --- modules/system/classes/UpdateManager.php | 2 ++ modules/system/classes/VersionManager.php | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/modules/system/classes/UpdateManager.php b/modules/system/classes/UpdateManager.php index 206e4beae..88ee66fae 100644 --- a/modules/system/classes/UpdateManager.php +++ b/modules/system/classes/UpdateManager.php @@ -366,6 +366,8 @@ class UpdateManager */ public function migrateModule($module) { + DbDongle::disableStrictMode(); + $this->migrator->run(base_path() . '/modules/'.strtolower($module).'/database/migrations'); $this->note($module); diff --git a/modules/system/classes/VersionManager.php b/modules/system/classes/VersionManager.php index 05576e27e..a37019338 100644 --- a/modules/system/classes/VersionManager.php +++ b/modules/system/classes/VersionManager.php @@ -385,6 +385,8 @@ class VersionManager */ protected function applyDatabaseScript($code, $version, $script) { + DbDongle::disableStrictMode(); + /* * Execute the database PHP script */ @@ -405,6 +407,8 @@ class VersionManager */ protected function removeDatabaseScript($code, $version, $script) { + DbDongle::disableStrictMode(); + /* * Execute the database PHP script */