条令迁移中的回滚问题


Issue in rollback in Doctrine Migrations

我使用Symfony 2.3.1,我想用DoctrineMigratos部署我的数据库,但我在"up()"函数上遇到了一些问题。如果我尝试执行这个例子:

$this->addSql("CREATE TABLE User (id INT AUTO_INCREMENT NOT NULL, name LONGTEXT DEFAULT NULL");
$this->addSql("CREATE TABLE User (id INT AUTO_INCREMENT NOT NULL, name LONGTEXT DEFAULT NULL");

我有一个错误(当然,是同一个表),但DoctrineMigrations没有执行回滚,最后我在数据库中有了"User"表。不知道这是我的配置或项目的问题,还是DoctrineMigrations的错误。

有人能帮我吗?

我认为问题不在条令上。如果您使用MySQL作为RDBMS,请阅读此处的隐式提交:

InnoDB中的CREATE TABLE语句作为单个事务处理。这意味着用户的ROLLBACK不会撤消用户在该事务期间所做的CREATE TABLE语句。