我有一些字段"my_table".我想在MyBundle中使用"my_table"生成实体.但我不想在MyBundle中重新创建所有实体.我怎样才能做到这一点?
Ahm*_*ani 16
这是你可以做到的方式,
第一步,请Doctrine内省数据库并生成相应的xml或yml元数据文件.
php app/console doctrine:mapping:convert [xml|yml] Path/To/MyBundle/Resources/config/doctrine/metadata/orm --from-database --force --filter=MyTable
Run Code Online (Sandbox Code Playgroud)
第二步,通过执行以下两个命令,让Doctrine导入模式并构建相关的实体类.
php app/console doctrine:mapping:import MyBundle [xml|yml|annotation] --filter=MyTable
php app/console doctrine:generate:entities Path\To\MyBundle\EntityFolder\\MyTable
Run Code Online (Sandbox Code Playgroud)
请查看文档中的" 如何从现有数据库生成实体"部分
Symfony 2.7选项注释和[/ xml/yml]的简单工作解决方案,请参阅http://symfony.com/doc/current/cookbook/doctrine/reverse_engineering.html
通过3个步骤执行3个命令:
命令#1:
$ php app/console doctrine:mapping:import --force AppBundle xml --filter="Meeting"
Run Code Online (Sandbox Code Playgroud)
输出:
编写C:\ xampp\htdocs\localxyz\src\AppBundle/Resources/config/doctrine/Meeting.orm.xml
命令#2:
$ php app/console doctrine:mapping:convert annotation ./src/AppBundle/Entity --from-database --filter="Meeting"
Run Code Online (Sandbox Code Playgroud)
输出:
处理实体"会议"
将"注释"映射信息导出到"C:\ xampp\htdocs\localxyz\src\Entity"
命令#3:
$ php app/console doctrine:generate:entities AppBundle:Meeting --no-backup
Run Code Online (Sandbox Code Playgroud)
输出:
生成实体"AppBundle\Entity\Meeting",生成AppBundle\Entity\Meeting
哪里:
AppBundle正是你在2.7 symfony中的"AppBundle"会议是目标表(区分大小写)
请务必检查以下目录:
C:\ XAMPP\htdocs中\的Myproj的\ src \的appbundle /资源/配置/教义/ Meeting.orm.xml
C:\ XAMPP\htdocs中\的Myproj的\ src \的appbundle /资源/配置/教义/ MeetingOriginal.orm.xml
并且确保您只有要创建实体类文件的表的.xml文件,而没有其他文件.
它对我很有用.
有关说明,请阅读:http://symfony.com/doc/current/cookbook/doctrine/reverse_engineering.html
| 归档时间: |
|
| 查看次数: |
23726 次 |
| 最近记录: |