. */ namespace SP\Core\Upgrade; use SP\Core\Exceptions\SPException; use SP\Storage\DB; use SP\Storage\QueryData; /** * Class Account * * @package SP\Core\Upgrade */ class Account { /** * Actualizar registros con usuarios no existentes * * @return bool */ public static function fixAccountsId() { try { DB::beginTransaction(); $Data = new QueryData(); $query = /** @lang SQL */ 'DELETE FROM accUsers WHERE accuser_accountId NOT IN (SELECT account_id FROM accounts) OR accuser_accountId IS NULL'; $Data->setQuery($query); DB::getQuery($Data); DB::endTransaction(); return true; } catch (SPException $e) { DB::rollbackTransaction(); return false; } } /** * Devolver el número de cuentas a procesar * * @return int */ public static function getNumAccounts() { $query = /** @lang SQL */ 'SELECT SUM(n) AS num FROM (SELECT COUNT(*) AS n FROM accounts UNION SELECT COUNT(*) AS n FROM accHistory) a'; $Data = new QueryData(); $Data->setQuery($query); return (int)DB::getResults($Data)->num; } }