Есть ли способ изменить движок базы данных MySQL с помощью миграции доктрин - PullRequest
1 голос
/ 06 сентября 2010

Кто-нибудь знает способ написания миграции Doctrine для изменения механизма таблиц базы данных MySQL с MyISAM на InnoDB?Можно ли управлять этим с помощью миграции или мне нужно использовать старый способ с помощью SQL-операторов?

Ответы [ 3 ]

2 голосов
/ 08 сентября 2010

Возможно, вы захотите изучить версию 2.0 Doctrine Migrations . Он не будет совместим с миграциями из Doctrine 1.2, но вы можете использовать его в любой базе данных без использования ORM Doctrine 2.

В любом случае, используя эту версию, это так же просто, как:

$this->addSql('ALTER TABLE mytable ENGINE=INNODB');
2 голосов
/ 08 февраля 2012

Есть способ сделать это через миграции (я использую доктрину 1.2):

public function up()
{
  $q = Doctrine_Manager::getInstance()->getCurrentConnection();
  $q->execute("ALTER TABLE foo ENGINE = MyISAM");
}
1 голос
/ 06 сентября 2010

К сожалению, вы можете только создавать, переименовывать или удалять таблицы с миграциями доктрин.
Вам придется сделать это по старинке:)

Проверьте Документацию доктрины .

...