从 Doctrine 生成 MySql 方案(使用 ZF2)

Generating MySql scheme from Doctrine (using ZF2)

是否有任何第三方工具可以从条令方案生成 Mysql 数据库?

我正在使用 ZF2 和 Doctrine Orm 2 以及 Skipper 来生成我的实体。但是,当涉及到生成我的 MySql 数据库时,我通过 Workbench 执行此操作。问题是这个数据库并不总是遵循我对 Skipper 文件所做的更改和更新。

现在我知道我可以使用提供的工具通过 Doctrine 的供应商文件夹进行更新,但是由于其他供应商模块在控制台模式下使环境崩溃,我一直无法使它工作。 ZfcRbac / Oauth2 和其他刚刚完成的在命令行中运行得很好。

所以我的问题很简单,是否有一种简单的第三方工具可以用来节省时间和减少挫败感,或者至少可以使用一些其他技术?

谢谢!

同步数据库的最佳方式是使用Doctrine Migrations。每次当你更新你的实体时,无论是手动还是使用 Skypper,你都应该创建一个迁移。我的工作流程是:

1) 我修改了一些实体,比如添加一个新的 属性;

2) 然后我使用 Doctrine orm 工具生成实体访问器。 /如果你已经有它们,由Skypper生成,你可以跳过这一步/

$php public/index.php orm:generate-entities --update-entities="true" --generate-methods="true" module/Application/src

3) 已更新:生成学说代理

$php public/index.php orm:generate:proxies

4) 下一步是生成迁移:

$php public/index.php migrations:diff 

5) 最后一步是执行迁移并使您的数据库与新模式同步:

$php public/index.php migrations:migrate

就这样,现在您的数据库已同步。我不确定是否有第三方库。如果您在使用其他模块时遇到问题,最好检查您的配置以尝试修复它们。