刚开始使用Doctrine ORM for PHP(v1.1.5)并遇到意外情况。
我使用以下命令从db(MySQL 4)生成模型:
Doctrine::generateModelsFromDb($pathToModels);
然后使用以下方法从模型生成YAML:
Doctrine::generateYamlFromModels($pathToSchema . '/schema.yml', $pathToModels);
在生成的模型中,列名称(在hasColumn()
中定义)对字段使用与db中相同的大小写。一切都好。
但是在生成的YAML中,无论模型中的情况如何,列名都是小写的。
似乎没有generateYamlFromModels()
方法可用的任何选项,我可以想象用来调整它。我应该在某个地方设置一些其他属性,可能是在连接级别,还是在经理级别等?可能是个错误吗?
任何想法都非常感激。谢谢,欢呼!
答案 0 :(得分:2)
这似乎是一个错误。我这样说是因为YAML is case sensitive和Doctrine的generateYAMLFromModels()
is documented to be case sensitive。我确实找到了2.0版的case sensitivity bug。也许这是影响您的程序的错误。除此之外,看起来Dimitris Baltas的评论似乎是选择的解决方法:
另一种方法是从DB生成模型,然后从模型生成yaml。这个保留了正确的外壳。
快乐狩猎:)