вам нужно добавить индекс 'foreign_key_name', прежде чем вы сможете добавить к нему ограничение внешнего ключа. так:
class Migration_001 extends Doctrine_Migration_Base {
public function up() {
$this->createTable('table_name', array(...));
$this->addIndex('table_name', 'foreign_key_name', array(
'fields'=>array('local_id')
));
$this->createForeignKey('table_name', 'foreign_key_name', array(
'local' => 'local_id',
'foreign' => 'id',
'foreignTable' => 'foreign_table',
'onDelete'=>'CASCADE'
));
}
public function down() {
$this->dropForeignKey('table_name', 'foreign_key_name');
$this->removeIndex('table_name', 'foreign_key_name');
$this->dropTable('table_name');
}
}