如何使用doctrine-orm-module和zf2从数据库模式生成实体

Dev*_*per 18 doctrine-orm zend-framework2

我正在使用"doctrine/doctrine-orm-module":"0.7.0"和ZF2.

一旦我创建实体,我通常会运行以下命令来根据我的实体自动同步和生成数据库.

./vendor/bin/doctrine-module orm:validate-schema
./vendor/bin/doctrine-module orm:schema-tool:create
Run Code Online (Sandbox Code Playgroud)

有没有办法让这个过程逆转?我的意思是,我可以在mysql中从现有数据库生成实体吗?

cpt*_*tnk 40

我们使用批处理脚本:

@ECHO OFF

mkdir EXPORT
call .\vendor\bin\doctrine-module orm:convert-mapping --force --from-database annotation ./EXPORT/
call .\vendor\bin\doctrine-module orm:generate-entities ./EXPORT/ --generate-annotations=true

pause 
Run Code Online (Sandbox Code Playgroud)

orm:convert-mapping而且orm:generate-entities可能就是你在寻找的东西.

  • 这个--force选项为我节省了五个小时的工作量.一定要使用它. (2认同)

Tha*_*ung 23

有写在这个不错的博客在这里

编辑:可以使用以下命令完成:
1.convert-mapping(表和实体):

  ./vendor/doctrine/doctrine-module/bin/doctrine-module orm:convert-mapping --namespace="Album\\Entity\\" --force  --from-database annotation ./module/Album/src/
Run Code Online (Sandbox Code Playgroud)


2.生成getter和setter

   ./vendor/doctrine/doctrine-module/bin/doctrine-module orm:generate-entities ./module/Album/src/ --generate-annotations=true
Run Code Online (Sandbox Code Playgroud)