zf2 generating entity with doctrine ORM

删除回忆录丶 提交于 2019-12-08 05:23:20

问题


I have Entity classes generated with Doctrine ORM, and ZF2.

I changed a table structure and I want to update an entity class, so I am trying to regenerate the entity class but it's not working.

I used the following code:

vendor/doctrine/doctrine-module/bin/doctrine-module orm:convert-mapping --namespace="Album\Entity\" --force --from-database annotation ./module/Album/src/clear

I got the error:

[Doctrine\ORM\Mapping\MappingException]
Property "status" in "Album\Entity\TestRun" was already declared, but it must be declared only once
orm:convert-mapping [--filter="..."] [--force] [--from-database] [--extend[="..."]] [--num-spaces[="..."]] [--namespace[="..."]] to-type dest-path

I want to re-generate the entity class for a particular table


回答1:


If you change the structure of your Entity file a simple \vendor\bin\doctrine-module orm:schema-tool:update --force will alter the table according to your Entity definition.

If you still want to recreate the table simple drop the table from your mysql and run the update command. You may have some cache files left so clearing those might be a good Idea, too.

You can clear the complete cache like so:

\vendor\bin\doctrine-module orm:clear-cache:query 
\vendor\bin\doctrine-module orm:clear-cache:result
\vendor\bin\doctrine-module orm:clear-cache:metadata



回答2:


As mentioned above it might be a bad practice, but nevertheless I use the following commands to achieve the result you are asking about:

vendor\bin\doctrine-module orm:convert-mapping --filter='Evaluation' --namespace='MyModule\Entity\\' --force --from-database annotation ./module/MyModule/src/   

and another command to generate getters and setters:

vendor\bin\doctrine-module orm:generate-entities --filter='Evaluation' ./module/MyModule/src/ --generate-annotations=true


来源:https://stackoverflow.com/questions/21092309/zf2-generating-entity-with-doctrine-orm

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!