migration = $factory; } public function getMigrations(Updater $updater) { $migrations = array(); $archiveTables = ArchiveTableCreator::getTablesArchivesInstalled(); $archiveBlobTables = array_filter($archiveTables, function ($name) { return ArchiveTableCreator::getTypeFromTableName($name) == ArchiveTableCreator::BLOB_TABLE; }); foreach ($archiveBlobTables as $table) { $migrations[] = $this->migration->db->sql("UPDATE $table SET name = 'DevicePlugins_plugin' WHERE name = 'UserSettings_plugin'"); } return $migrations; } public function doUpdate(Updater $updater) { $pluginManager = \Piwik\Plugin\Manager::getInstance(); try { $pluginManager->activatePlugin('DevicePlugins'); } catch (\Exception $e) { } $updater->executeMigrations(__FILE__, $this->getMigrations($updater)); } }