仅限TEST环境:数据库架构与当前映射文件不同步

时间:2015-06-19 21:46:30

标签: symfony doctrine-orm

关于这个问题有一些类似的问题,但我没有看到任何特别针对TEST环境和sqlite。我无法验证使用sqlite的TEST环境的模式,但是我可以验证使用mysql的DEV环境的模式。有谁知道可能的原因和可能的解决方案?整个应用程序在DEV和TEST环境中都可以正常工作。只有我的phing和CI构建被破坏了。

php app/console doctrine:schema:update --force --env=test
Updating database schema...
Database schema updated successfully! "9" queries were executed
php app/console doctrine:schema:validate --env=test
[Mapping]  OK - The mapping files are correct.
[Database] FAIL - The database schema is not in sync with the current mapping file.

更新

我正在添加sqldump结果以查看是否有人发现它有任何问题。我唯一可以说的是,我有两个捆绑。下面的country来自frontendbundleuser实体遗失了,backendbundle中定义了该实体。

php app/console doctrine:schema:update --dump-sql --env=test
DROP INDEX UNIQ_5373C9665E237E06;
DROP INDEX UNIQ_5373C966D1F4EB9A;
CREATE TEMPORARY TABLE __temp__country AS SELECT id, name, flag FROM country;
DROP TABLE country;
CREATE TABLE country (id INTEGER NOT NULL, name VARCHAR(100) NOT NULL, flag VARCHAR(50) NOT NULL, PRIMARY KEY(id));
INSERT INTO country (id, name, flag) SELECT id, name, flag FROM __temp__country;
DROP TABLE __temp__country;
CREATE UNIQUE INDEX UNIQ_5373C9665E237E06 ON country (name);
CREATE UNIQUE INDEX UNIQ_5373C966D1F4EB9A ON country (flag);

0 个答案:

没有答案