. */ namespace SP\Core\Upgrade; use SP\Core\Exceptions\SPException; use SP\Core\TaskFactory; use SP\Storage\DbWrapper; use SP\Storage\QueryData; /** * Class Account * * @package SP\Core\Upgrade */ class Account { /** * Actualizar registros con usuarios no existentes * * @return bool */ public static function fixAccountsId() { TaskFactory::$Message->setTask(__FUNCTION__); TaskFactory::$Message->setMessage(__('Actualizando IDs de cuentas')); TaskFactory::update(); try { DbWrapper::beginTransaction(); $Data = new QueryData(); $query = /** @lang SQL */ 'DELETE FROM accUsers WHERE accuser_accountId NOT IN (SELECT account_id FROM Account) OR accuser_accountId IS NULL'; $Data->setQuery($query); DbWrapper::getQuery($Data); $query = /** @lang SQL */ 'DELETE FROM AccountToUserGroup WHERE accountId NOT IN (SELECT account_id FROM Account) OR accountId IS NULL'; $Data->setQuery($query); DbWrapper::getQuery($Data); DbWrapper::endTransaction(); return true; } catch (SPException $e) { DbWrapper::rollbackTransaction(); return false; } } }