我在 ZF2 中使用"doctrine/doctrine-orm-module": "0.7.0"。
创建实体后,我通常会运行以下命令来根据我的实体自动同步和生成数据库。
./vendor/bin/doctrine-module orm:validate-schema
./vendor/bin/doctrine-module orm:schema-tool:create
有没有办法让这个过程逆转?我的意思是,我可以从 mysql 中的现有数据库生成实体吗?
我在 ZF2 中使用"doctrine/doctrine-orm-module": "0.7.0"。
创建实体后,我通常会运行以下命令来根据我的实体自动同步和生成数据库。
./vendor/bin/doctrine-module orm:validate-schema
./vendor/bin/doctrine-module orm:schema-tool:create
有没有办法让这个过程逆转?我的意思是,我可以从 mysql 中的现有数据库生成实体吗?
我们使用批处理脚本:
@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
orm:convert-mapping
并且orm:generate-entities
可能是您正在寻找的。
有一个不错的博客写在这里
编辑:可以使用以下命令来完成:
1. 转换映射(表和实体):
./vendor/doctrine/doctrine-module/bin/doctrine-module orm:convert-mapping --namespace="Album\\Entity\\" --force --from-database annotation ./module/Album/src/
2.生成getter和setter
./vendor/doctrine/doctrine-module/bin/doctrine-module orm:generate-entities ./module/Album/src/ --generate-annotations=true
试试吧
doctrine orm:convert-mapping -f --from-database annotation entities/
doctrine orm:generate-entities --generate-annotations="true" entities/
http://wildlyinaccurate.com/useful-doctrine-2-console-commands/