如何在使用symfony doctrine:build-schema时添加actAs

时间:2013-10-18 09:57:39

标签: symfony-1.4 mysql-workbench doctrine-1.2

背景:

(1)我使用mysql workbench来设计我的数据库。

(2)然后我使用mysql workbench中的“Synchronize Model”工具将我的修改应用到mysql数据库。

(3)最后我使用symfony doctrine:build-schema命令根据数据库生成schema.yml(由于某些遗留原因,我必须使用Symfony 1.4)。

问题出现了:我想将actAs: { Timestampable: ~ }添加到schema.yml,但是symfony doctrine:build-schema命令不能这样做。

我能想象的解决方案是编写一个shell来编辑schema.yml。显然,这不是一个优雅的解决方案。

非常感谢任何建议。

2 个答案:

答案 0 :(得分:0)

1)命令symfony doctrine:build-schema

给出了什么错误

2)在schema.yml中尝试这样的代码

Something:
  actAs:
    Timestampable:
  columns:
...

答案 1 :(得分:0)

我使用MySQL Workbench Schema Exporter(一个开源PHP库项目)来节省时间并完成建模过程中的所有数据库模型定义任务。查看此Installation Tutorial

使用MySQL Workbench Schema Exporter,您可以使用表注释来定义表行为。要向表定义添加时间戳行为,请将其放在注释中:

{MwbExporter:actAs}actAs: [Timestampable]{/MwbExporter:actAs}

然后使用MySQL Workbench Schema Exporter将模型( * .mwb文件)导出到YAML( *。yml文件)并将其放在./config/schema中/文件夹,以便创建一个sql脚本,然后将其加载到已经使用symfony配置的数据库中。这很简单!就像这样:

  1. 将模型导出为YAML

    php bin/mysql-workbench-schema-export your_model.mwb

  2. 将schema.yml结果文件复制到./config/schema文件夹位置

  3. 创建一个sql脚本

    php symfony doctrine:build-sql

  4. 现在用以下方法构建您的模型:

    php symfony doctrine:build-model