我的应用程序需要在一些表中显示一些行,以便在部署时正常工作。但是,我不确定DoctrineFixturesBundle是否被编写为在生产服务器上运行。它在我的开发机器上运行得很好,但在生产中使用它足够安全吗?
个人经历
自2011年底以来,我已将捆绑包与doctrine/doctrine-migrations-bundle
一起集成到几个symfony2应用程序的(连续)部署过程中。
我从来没有遇到任何问题的固定装置捆绑包。
我不得不承认,迁移捆绑包偶尔会让我头疼,但同时主观上感觉非常成熟和稳定。
一般信息
doctrine/data-fixtures
于2010年年中推出。
doctrine/doctrine-fixtures-bundle
(与symfony2项目集成的捆绑包)自2011年年中开始存在。
根据SensioLabs的这项调查,它是最常用的20个捆绑包之一。
capifony是symfony2应用程序中广泛使用的部署工具,它内置了对使用捆绑包加载fixture的支持。
测试覆盖范围
doctrine/data-fixtures
具有良好的测试覆盖率。
捆绑包本身目前不提供任何测试。。。但它所提供的只是一个非常简单的命令。看看代码。
结论
我想说,捆绑包对于生产部署来说绝对是安全的,因为我现在已经做了3年多了。
通过composer安装doctrine/doctrine-fixtures-bundle
超过200万次。。。我绝对不是唯一一个这样想的人。
我通常将if用于在产品环境中加载新的(静态)数据,也与条令迁移结合使用。
例如,如果在现有的项目中,我们开发了一个新的实体来管理技巧(viwh或没有管理CRUD部分):
-
我们发布迁移任务
-
我们用加载一组初始数据
php应用程序/控制台原则:fixtures:load--append--env=prod-fixtures=src/AcmeDemoBundle/DataFixtures/ORM/ProdFixtures/NewTipology
选项--append
允许在不删除所有数据的情况下将数据附加到现有数据库上,--fixtures
可以传递一个文件夹作为加载所有预设数据的输入。
fixture类可以访问扩展ContainerwareInterface的现有数据(或其他容器服务)。
这是我的经验。
希望得到帮助。