将MySQL Workbench数据模型直接导出到Propel / Symfony中的Schema YML

时间:2009-03-01 09:47:30

标签: mysql yaml propel mysql-workbench

是否有任何插件直接将MYSQL Workbench数据模型直接导出到YML以进行Propel消费?

4 个答案:

答案 0 :(得分:10)

是的,MySQL Workbench插件可用于为Propel,Doctrine,Symfony等生成模式

http://forums.mysql.com/read.php?153,208229

答案 1 :(得分:2)

关于此问题的最新消息。如果您正在寻找一种快速方便的方法将数据库表导出到实体并映射.yml文件,那么曾经有一个Workbench插件可以执行此操作,但不幸的是,不再支持此LUA。它运行得很好 - 太糟糕了,因为如果你使用MySQL Workbench,理想情况下,插件最方便,最快捷的方式将数据库作为实体导出到你的Symfony项目中。

所以,我找到的下一个最佳解决方案是安装一个可以从Symfony的应用程序/控制台执行的名为“mysqlworkbenchschemaexporter”的实用程序。使用此实用程序,您必须保存Workbench文件(* .wmb),然后将它们上传到文件夹,然后可以使用以下应用程序/控制台命令:

app/console mysqlworkbenchschemaexporter:dump
app/console mysqlworkbenchschemaexporter:withRepository

如果没有购买价格超过300美元的Skipper等ORM工具,我确实找到了最近更新的支持的解决方案:

https://github.com/turnaev/mysql-workbench-schema-exporter-symfony2-bundle

我希望这有助于其他Symfony开发人员节省一些实体创建和ORM映射的时间!

答案 2 :(得分:0)

如果从MySQL工作台导出是不够的,你可以尝试我们的工具Skipper - 以前是ORM Designer(我是首席开发人员)。使用Skipper,您可以定义和导出行为,Propel特定的列/表/ ...属性等等。

http://www.skipper18.com

答案 3 :(得分:0)

使用symfony 1.x时,我个人更喜欢以下过程:

  1. 使用工作台设计模型
  2. 使用“同步模型”选项将更改应用于数据库
  3. 运行propel:build-schema任务以更新schema.yml
  4. 运行propel:build --all-classes任务(它意味着模型,表单和过滤器)
  5. 请注意:第3步将覆盖整个schema.yml文件。如果你需要添加特殊的调整,只需将schema.custom.yml添加到你的项目中就可以了。你好了。