使用DoctrineFixturesBundle为种子生成数据库安全是否安全?

时间:2015-03-28 06:23:35

标签: symfony doctrine-orm doctrine

我的应用程序需要在某些表中存在一些行才能在部署时正常运行。但是,我不确定是否编写了DoctrineFixturesBundle以在生产服务器上运行。它在我的开发机器上运行得非常好,但它在生产中使用是否足够安全?

2 个答案:

答案 0 :(得分:5)

个人经历

自2011年底以来,我已将捆绑包与doctrine/doctrine-migrations-bundle一起集成到多个symfony2应用程序的(连续)部署过程中。

我从未遇到过fixtures-bundle的任何问题。

我不得不承认,迁移捆绑偶尔给我带来了一些麻烦 - 但同时主观感觉非常成熟和稳定。

一般信息

doctrine/data-fixtures于2010年中期推出。

doctrine/doctrine-fixtures-bundle(与symfony2项目集成的软件包)自2011年中期开始存在。

根据SensioLabs的survey,它是最常用的20个捆绑之一。

capifony - symfony2应用程序广泛使用的部署工具 - builtin支持使用bundle加载fixture。

测试覆盖率

doctrine/data-fixtures有一个很好的test coverage

捆绑包本身目前不提供任何测试......但它唯一提供的是一个非常简单的命令。看看code

结论

我认为捆绑对于生产部署来说绝对是安全的,因为我现在这样做了3年多。

通过作曲家获得> 200万installs doctrine/doctrine-fixtures-bundle ...我绝对不是唯一一个这样思考的人。

答案 1 :(得分:1)

我通常使用if来加载prod环境中的新(静态)数据以及学说迁移。

例如,如果在现有项目中,我们开发了一个用于管理技巧的新实体(viwh或没有管理CRUD部分):

  • 我们发布了迁移任务

  • 我们使用以下内容加载一组初始数据:

    php app / console doctrine:fixtures:load --append --env = prod --fixtures = src / AcmeDemoBundle / DataFixtures / ORM / ProdFixtures / NewTipology

选项--append允许在没有全部删除的情况下将数据附加到现有数据库,--fixtures可以将文件夹作为输入传递以加载所有预设数据。

fixture类可以访问扩展ContainerAwareInterface的现有数据(或其他容器服务)。

这是我的经历。

希望得到这个帮助。