生成的Doctrine模型尊重案例,但生成的Yaml却没有

时间:2009-11-08 11:08:18

标签: php orm doctrine yaml case

刚开始使用Doctrine ORM for PHP(v1.1.5)并遇到意外情况。

我使用以下命令从db(MySQL 4)生成模型:

Doctrine::generateModelsFromDb($pathToModels);

然后使用以下方法从模型生成YAML:

Doctrine::generateYamlFromModels($pathToSchema . '/schema.yml', $pathToModels);

在生成的模型中,列名称(在hasColumn()中定义)对字段使用与db中相同的大小写。一切都好。

但是在生成的YAML中,无论模型中的情况如何,列名都是小写的。

似乎没有generateYamlFromModels()方法可用的任何选项,我可以想象用来调整它。我应该在某个地方设置一些其他属性,可能是在连接级别,还是在经理级别等?可能是个错误吗?

任何想法都非常感激。谢谢,欢呼!

1 个答案:

答案 0 :(得分:2)

这似乎是一个错误。我这样说是因为YAML is case sensitive和Doctrine的generateYAMLFromModels() is documented to be case sensitive。我确实找到了2.0版的case sensitivity bug。也许这是影响您的程序的错误。除此之外,看起来Dimitris Baltas的评论似乎是选择的解决方法:

  

另一种方法是从DB生成模型,然后从模型生成yaml。这个保留了正确的外壳。

快乐狩猎:)