Joh*_*nes 5 php doctrine symfony1
嘿.我很难在我的config/doctrine/schema.yml文件中迁移我所做的更改.
我将列添加 age 到 user 表中.然后我做了一个 php symfony doctrine:generate-migrations-diff 跟随 php symfony doctrine:migrate .
查看我的数据库, age 现在添加了该列,但未删除任何数据.
但是,我的/lib/model/doctrine/base/BaseUser.class.php没有改变,没有 age 字段或功能 age .所以我也做了命令 php symfony doctrine:build-model .最后,模型也会更新/迁移.
所以我想知道,这是唯一的方法吗?看起来好像很多工作,每次做这件事我都不敢错过.
我可以直接进入phpmyadmin,在那里添加数据库中的更改,然后执行操作 php symfony doctrine:build-schema ,就像跳过迁移部分(两个命令)一样.
此外,当使用模型时,我是否正确/lib/model/doctrine/User.class.php是我可以为我的用户"数据类"创建函数的地方?喜欢,做一个功能 isFemale .如果没有,这种功能在哪里?
这可能是一个糟糕的问题,但为什么模型层位于/ lib/doctrine路径中?据我所知,您将模块保存在应用程序中,您可以在其中创建视图和控制器.为什么模型应该在外面.像这样我可以制作没有附加控制器和视图的模型吗?
谢谢.
为什么模型应该在外面
因为模型可以在项目的任何地方使用,例如,在不同的应用程序和模块中使用.
我可以直接进入phpmyadmin,在那里添加数据库中的更改,只需执行php symfony doctrine:build-schema,就像跳过迁移部分(两个命令)一样.
当然可以,但迁移是在部署到生产或在团队中工作时跟踪架构的好方法.
这里我如何使用doctrine迁移(简单用例):
age在我的User模型中添加一列schema.yml./symfony doctrine:generate-migrations-diff.已生成迁移类(-es)../symfony doctrine:migrate.列已age成功添加到表中../symfony doctrine:build --all-classes.构建表单/过滤器/模型而已.主要思想是doctrine:generate-migrations-diff课程:
schema.yml信息(1)此外,当使用模型时,我是否正确/lib/model/doctrine/User.class.php是我可以为我的用户"数据类"创建函数的地方?就像,制作一个功能是女性.如果没有,这种功能在哪里?
是的,您可以将此类方法添加到User模型中,因为它与用户有关.