我正在使用Symfony 2.3.1,我想用DoctrineMigratios部署我的数据库,但我在“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的错误。
有人可以帮助我吗?
答案 0 :(得分:4)
我认为问题不在于学说。如果您使用MySQL作为RDBMS,请阅读隐式提交here:
InnoDB中的CREATE TABLE语句作为单个事务处理。这意味着来自用户的ROLLBACK不会撤消用户在该事务期间所做的CREATE TABLE语句。