Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database Symfony 3-生产中的数据库静态数据。固定装置迁移?还有别的吗?_Database_Database Migration_Fixture_Symfony3.x - Fatal编程技术网

Database Symfony 3-生产中的数据库静态数据。固定装置迁移?还有别的吗?

Database Symfony 3-生产中的数据库静态数据。固定装置迁移?还有别的吗?,database,database-migration,fixture,symfony3.x,Database,Database Migration,Fixture,Symfony3.x,据我所知,夹具是“用于持续测试某些项目、设备或软件的东西”。它应该只在开发和测试环境中使用 我的背景: 我有一个web应用程序,它建议销售5种特定产品。 没有用于编辑/删除/添加产品的后台,但有用于修改产品价格和说明的后台,这就是为什么我需要数据库中的5种产品。 要初始化应用程序,我想在数据库中插入我的5个产品(按代码) 我可以使用fixture在数据库中插入产品,但我认为fixture的工作不应该只在“dev”或“test”env中使用 “条令:模式:更新”似乎也不是正确的解决方案,因为它只更

据我所知,夹具是“用于持续测试某些项目、设备或软件的东西”。它应该只在开发和测试环境中使用

我的背景: 我有一个web应用程序,它建议销售5种特定产品。 没有用于编辑/删除/添加产品的后台,但有用于修改产品价格和说明的后台,这就是为什么我需要数据库中的5种产品。 要初始化应用程序,我想在数据库中插入我的5个产品(按代码)

我可以使用fixture在数据库中插入产品,但我认为fixture的工作不应该只在“dev”或“test”env中使用

“条令:模式:更新”似乎也不是正确的解决方案,因为它只更新模式(我数据库的结构),而与数据无关


有没有办法用Symfony3在我的数据库中插入“静态数据”?数据迁移系统?有正确的方法吗?使用条令迁移包

夹具是插入静态数据进行测试的方法。但它应该在dev env中使用,因为它在插入之前会完全截断数据库中的所有数据。 迁移用于架构版本控制。因此,这不是一个正确的地方使用它。
所以,如果您对fixture还满意的话,请坚持使用fixture。

好吧,您必须在fixture上添加一些,因为在开发/测试环境中仍然需要这些数据

对于初始化,您必须将其放在第一个迁移脚本中(据我所知,它是应用程序工作所必需的)

或者,您放弃了编写sql脚本的想法,该脚本将在项目生命周期中执行一次,您创建了一个
初始prod data.dump.sql
,而不是在prod中初始化项目时导入


PS:如果您使用迁移,不要使用实体,请使用纯sql避免任何涉及模型演化的回归。

不,我不同意。如果夹具是为测试保留的,那么如何在prod env中插入“静态数据”?我将使用自己的定制服务来实现这一目的。