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(); } }
public function postUp() { parent::postUp(); // Set dates for all existing news $news = News_Model_NewsTable::getInstance()->findAll(); foreach ($news as $article) { if ($article->public == 'yes') { $article->publish_date = $article->created_at; $article->save(); } } }
public function postUp() { parent::postUp(); $q = Doctrine_Manager::getInstance()->getCurrentConnection(); $q->exec('UPDATE petition p SET p.activity_at = (SELECT created_at FROM petition_signing ps WHERE ps.petition_id = p.id ORDER BY ps.id DESC LIMIT 1)'); }
/** * Sets the default options for tables created using Doctrine_Migration_Base::createTable() * * @param array $options */ public static function setDefaultTableOptions(array $options) { self::$defaultTableOptions = $options; }
public function tearDown() { Doctrine_Migration_Base::setDefaultTableOptions(array()); }
public function configureDoctrine(Doctrine_Manager $manager) { $manager->setCollate('utf8_unicode_ci'); $manager->setCharset('utf8'); Doctrine_Migration_Base::setDefaultTableOptions(array('type' => 'INNODB', 'charset' => 'utf8', 'collate' => 'utf8_unicode_ci')); }
/** * Add a add or remove index change. * * @param string $upDown Whether to add the up(add) or down(remove) index change. * @param string $tableName Name of the table * @param string $indexName Name of the index * @param array $definition Array for the index definition * * @return void */ public function index($upDown, $tableName, $indexName, array $definition = array()) { parent::index($upDown, RokCommon_Doctrine::getPlatformInstance()->setTableName($tableName), $indexName, $definition); }
public function postUp() { parent::postUp(); $q = Doctrine_Manager::getInstance()->getCurrentConnection(); $q->exec('UPDATE LOW_PRIORITY petition_signing_wave psw SET psw.contact_num = (SELECT count(*) FROM petition_signing_contact psc where psc.petition_signing_id = psw.petition_signing_id and psc.wave = psw.wave)'); }