0

我写了一些类并在 DB 上生成相关表,php app/console doctrine:generate:entities
突然我明白我做错了什么,我已经将一些内容更改为该类: 有三个类(A、B、C),其中 A 连接到 B 和 C 是独立(现在)),但我的架构必须将 A 连接到 C。所以我以一致的方式修改所有类并启动php app/console doctrine:schema:update --force.

大吃一惊,我注意到 DB 上没有发生任何变化!
这怎么可能?有学说他缓存了一些东西或类似的文件吗?

PS:实体之间的关系是多对多的

4

2 回答 2

0

您是否尝试使用更新的实体生成新数据库来检查它们是否正确?一种简单的方法是更改parameters.ini​​文件上的数据库名称并再次运行生成数据库的控制台命令:

app/console doctrine:database:create
app/console doctrine:schema:create

如果新数据库不正确,则您的实体有问题。你如何定义它们(YAML、XML 或注释)?我使用 YAML,有时doctrine:generate:entities操作效果不佳。发生这种情况时,我必须删除我的 PHP 实体并再次运行该命令。

除此之外,请检查Doctrine 文档并确保您按照拥有方和反向方的规则正确定义了关联。

于 2012-09-07T03:10:18.280 回答
0

如果您更改某些行,您可以通过键入以下内容来查看将执行哪些请求:

doctrine:schema:update --dump-sql

如果学说没有看到您的修改,请尝试重新启动 apache,或清理 APC 缓存。上次我遇到这个奇怪的错误时,它对我有用。但是,学说当然会查看您是否删除或添加了字段!

于 2012-09-06T15:24:55.957 回答