背景:
(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。显然,这不是一个优雅的解决方案。
非常感谢任何建议。
答案 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配置的数据库中。这很简单!就像这样:
将模型导出为YAML
php bin/mysql-workbench-schema-export your_model.mwb
将schema.yml结果文件复制到./config/schema文件夹位置
创建一个sql脚本
php symfony doctrine:build-sql
现在用以下方法构建您的模型:
php symfony doctrine:build-model