function onDaily(Am_Event $event) { $q = new Am_Query_User(); $q->add(new Am_Query_Condition_Data('subusers_count', 'IS NOT NULL')); foreach ($q->selectPageRecords(0, 100000) as $user) { $this->checkAndUpdate($user); } }
protected function convertFieldFromSql($name) { //@todo improve performence VIA DIRECT SQL QUERY // insert into ?_data SELECT FROM ?_user $anUserQuery = new Am_Query_User(); $total = $anUserQuery->getFoundRows(); $perPage = 1024; for ($p = 0; $p < ceil($total / $perPage); $p++) { foreach ($anUserQuery->selectPageRecords($p, $perPage) as $record) { $record->data()->set($name, $record->{$name}); $record->save(); } } $this->dropSqlField($name); }