在symfony中用doctrine更改模型的基类的位置?

时间:2013-04-03 16:28:39

标签: php model symfony-1.4

我正在使用symfony创建一个项目(第一个项目),我阅读了文档和所有内容,一切正常,我用doctrine创建了代表我的数据库的类,一切都很好,但后来我需要更改一个字段这个表,所以,我去了symfony / lib / model / doctrine / base,找到了我的课,我改了它,完成了!工作得很好。

问题在于我需要使用doctrine

制作新模型
php symfony doctrine:build-model

我的旧版本需要旧版本,我会收到数百个错误,我认为还有其他一些文件需要更改,但我不知道哪里可以帮助我?

我已经尝试php symfony cc我正在使用symfony 1.4

感谢。

2 个答案:

答案 0 :(得分:1)

正如@ denys281所说,您不必触及Base类,因为每次重建模型时它们都会被覆盖。你已经测试了这个案例..

如果要更新数据库中的字段,您有两个选项:

  1. 您进行了更改

    • 修改您的config/doctrine/schema.yml以更新您想要的字段
    • 重建了您的课程php symfony doctrine:build --all-classes
    • 更新数据库中的字段手动
  2. 让学说处理变更

    • 修改您的config/doctrine/schema.yml以更新您想要的字段
    • 运行php symfony doctrine:generate-migrations-diff以构建先前架构与新架构之间的差异
    • 重建了您的课程php symfony doctrine:build --all-classes
    • 使用php symfony doctrine:migrate
    • 迁移数据库
  3. 您可以找到更多信息about migrating in this capter,这是针对sf1.2的,但是对于sf1.4也没问题。

答案 1 :(得分:0)

不要更改基类!

您拥有 lib / model / doctrine 文件:

  • Name.class.php
  • NameTable.class.php 即可。

Name.class.php 中,您可以编写自定义getter和setter,在 NameTable.class.php 中,您可以为DB编写查询。

您可以阅读更多内容:Day 3: The Data ModelDay 6: More with the Model