首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用Symfony2和原理导入数据库

利用Symfony2和原理导入数据库
EN

Stack Overflow用户
提问于 2014-07-10 19:48:50
回答 1查看 1.4K关注 0票数 2

我正在尝试使用命令

代码语言:javascript
复制
doctrine:mapping:import

但是,要将数据库导入到我的项目中,我不希望database.orm.yml文件位于包中,我希望orm和实体文件位于src文件夹中的静态目录中。上面的命令要求我提供一个包名。我的问题是,如何将映射文件导入到文件夹./src/Entity/orm 文件夹中,而不是将其导入到包中?是否可能?

代码语言:javascript
复制
./src/Entity/orm        <-- Directory having the .yml files
./src/Entity/Repository <-- The repository classes
./src/Entity            <-- The Entity Classes here
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-22 16:23:40

我将用我发现的工作来回答我自己的问题。

下面的命令将从数据库生成实体到指定的文件中,并将命名空间添加到类中;

代码语言:javascript
复制
php app/console doctrine:mapping:convert annotation ./src/Entity --from-database --force --namespace="Entity\\";

要想得到完整的答案,我可以用:

代码语言:javascript
复制
php app/console doctrine:mapping:convert annotation ./src/Entity --from-database --force --namespace="Entity\\";

以生成yaml orm文件。然后手动将命名空间添加到每个名称空间中,然后运行:

代码语言:javascript
复制
php app/console doctrine:generate:entities ./src/Entity/orm

正确设置Symfony2 config.yml参数之后。然而,这将是一个浪费的努力,因为我可以同样容易地使用注释。

我从这次经历中学到的是,如果您使用的是代码优先开发策略,那么使用yaml文件和生成实体是一个很好的特性。如果您只是试图像我一样从一个设计糟糕或臃肿的数据库中生成一个实体框架,那么使用注释可以省去麻烦。

现在我要做的是,因为您不能从数据库中指定repositoryClasses。只是在我开发的时候添加存储库类。并不是每个200+表都需要一个存储库类。

注:这个数据库不是“内部”设计的,大家的共识是,它很糟糕,需要重新设计,但目前的时间限制不允许我们这样做……

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24685052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档