我有用Doctrine ORM和ZF2生成的实体类。
我更改了表结构,我想更新实体类,所以我正在尝试重新生成实体类,但它不起作用。
我使用了以下代码:
vendor/doctrine/doctrine-module/bin/doctrine-module orm:convert-mapping --namespace="Album\Entity\" --force --from-database annotation ./module/Album/src/clear
我收到错误:
[Doctrine\ORM\Mapping\MappingException]
[--filter="..."] [--force] [--from-database] [--extend[="..."]] [--num-spaces[="..."]] [--namespace[="..."]] to-type dest-path
"Album\Entity\TestRun"中的属性"status"已声明,但只能声明一次
orm:convert-mapping
我想为特定表重新生成实体类
如果您更改实体文件的结构,则只需 vendorbindoctrine-module orm:schema-tool:update --force
将根据实体定义更改表。
如果您仍然想重新创建表,只需从 mysql 中删除表并运行 update 命令即可。您可能还剩下一些缓存文件,因此清除这些文件也可能是一个好主意。
您可以像这样清除整个缓存:
vendorbindoctrine-module orm:clear-cache:query
vendorbindoctrine-module orm:clear-cache:result
vendorbindoctrine-module orm:clear-cache:metadata
<</div>
div class="one_answers"> 如上所述,这可能是一个不好的做法,但我仍然使用以下命令来实现您所询问的结果:
vendorbindoctrine-module orm:convert-mapping --filter='Evaluation' --namespace='MyModuleEntity\' --force --from-database annotation ./module/MyModule/src/
以及另一个用于生成 getter 和 setter 的命令:
vendorbindoctrine-module orm:generate-entities --filter='Evaluation' ./module/MyModule/src/ --generate-annotations=true