public function preUp() { parent::preUp(); // get a mapping of current ids for later use $conn = Doctrine_Manager::getInstance()->connection(); $episodes = $conn->execute('SELECT * FROM project_episodes')->fetchAll(); $mapping = array(); $afterDelete = array(); foreach ($episodes as $episode) { if (empty($mapping[$episode['project_id'] . '-' . $episode['number'] . '-' . $episode['version']])) { $mapping[$episode['project_id'] . '-' . $episode['number'] . '-' . $episode['version']] = $episode['id']; } else { $afterDelete[] = $episode['id']; } } foreach ($episodes as $episode) { $rel = new Projects_Model_EpisodeRelease(); $rel->vcodec = $episode['vcodec']; $rel->acodec = $episode['acodec']; $rel->container = $episode['container']; $rel->crc = $episode['crc']; $rel->released_at = $episode['released_at']; $rel->updated_by = $episode['updated_by']; $rel->created_at = $episode['created_at']; $rel->updated_at = $episode['updated_at']; $rel->episode_id = $mapping[$episode['project_id'] . '-' . $episode['number'] . '-' . $episode['version']]; $rel->save(); $rel->free(); } Doctrine_Query::create()->delete('Projects_Model_Episode')->whereIn('id', $afterDelete)->execute(); }
public function preUp() { parent::preUp(); if (class_exists('rtShopOrder')) { $query = Doctrine::getTable('rtShopOrder')->getQueryObject(); $query->delete()->execute(); } }