0

我一直在 symfony 中测试 Doctrine 迁移,我终于让它们工作了,但我注意到这些迁移只更新数据库。表格和模型没有像我预期的那样更新......

这是正常的吗?如果正常,有没有办法用对数据库所做的更改来更新模型?

4

2 回答 2

5

这很正常。

要更新模型/表单/过滤器等,您可以运行

./symfony doctrine:build-all

任务。

在开发过程中,您可能正在将固定装置加载到数据库中,因此将使用教条加载它们:data-load(或使用 build-all-reload 任务)。

但是一旦您的应用程序投入生产,您显然不想在每次更改数据库架构时都放弃所有数据。这就是迁移的来源。

我的流程是:

  • 更新 schema.yml
  • 在开发环境中运行学说:构建全部。
  • 创建迁移
  • 在开发环境中执行任何开发/测试。
  • 将代码部署到生产环境
  • 将迁移应用到生产数据库。
于 2009-07-25T21:38:48.110 回答
0

来自 php symfony 1.4 php symfony 教义:构建帮助菜单

  You must include one or more of the following build options:    

--all, --all-classes, --model, --forms, --filters, --sql, --db

有关详细信息,请参阅此任务的帮助页面:

php symfony help doctrine:build  

你可以更细粒度地只构建 --model --forms --filters 等。

如果您 build-all 您将丢失数据库中的所有数据,因为它会重建数据库。

于 2013-04-20T20:43:07.573 回答