migration = $factory; } /** * @param Updater $updater * * @return Migration[] */ public function getMigrations(Updater $updater) { $column = Db::fetchRow('SHOW COLUMNS FROM ' . Common::prefixTable('user') . ' LIKE \'idchange_last_viewed\''); if ( empty($column) || strpos(strtolower($column['Type']), 'int') !== false || strpos(strtolower($column['Type']), 'unsigned') !== false ) { return []; } $removeValues = $this->migration->db->sql('UPDATE ' . Common::prefixTable('user') . ' SET idchange_last_viewed = NULL'); $columnUpdate = $this->migration->db->changeColumnType('user', 'idchange_last_viewed', 'INTEGER UNSIGNED'); return [$removeValues, $columnUpdate]; } public function doUpdate(Updater $updater) { $updater->executeMigrations(__FILE__, $this->getMigrations($updater)); } }