У меня очень странная проблема с MySQL и доктриной [с помощью codeIgniter].
Я пытаюсь создать простой сценарий миграции, который берет все записи из одной таблицы и после небольшого процесса сохраняет их в другую.
Однако на моем ноутбуке [под управлением Windows и Wamp] я получаю двойные номера исходных записей таблицы, которые были скопированы в таблицу назначения. В ноутбуках моих коллег все работает отлично! Мы все используем mysql 5.0.86 [плюс windows плюс wamp].
Вот код:
function buggy_function(){
$this->db(); //get db connection
$q = Doctrine_Query::create()->from('Oldtable r');
$oldrecords = $q->fetchArray();
$count = 0;
foreach ($oldrecords as $oldrecord){
$newrecord = new NewTableClass();
$newrecord->password = md5($oldrecord['password']);
$newrecord->save();
echo $newrecord->id. ' Id -> saved.'
}
}
Все просто! У меня есть 39 записей в старой таблице, и я получаю 78 записей в новой таблице, которые являются точно такими же записями, за исключением уникального первичного ключа.
Кажется, что скрипт запускается дважды. Но вывод сценария следующий:
1 Id -> saved.
2 Id -> saved.
...
...
39 Id -> saved.
У вас есть идеи, почему это происходит? Любая известная ошибка для mysql?
Спасибо заранее! '