2

我使用 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 没有执行回滚,最后我的数据库中有“用户”表。不知道是我的配置或项目的问题,还是 DoctrineMigrations 的错误。

有人可以帮助我吗?

4

1 回答 1

6

我认为问题不在于教义。如果您使用 MySQL 作为 RDBMS,请在此处阅读有关隐式提交的信息:

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

于 2013-06-27T12:20:40.473 回答