我们正在积极开发模块,当我们将更改推送到生产现场时,通常需要进行多项配置更改。将自动化这个想法会很好吗?Magento:如何将配置更改从开发迁移到生产环境?
回答
将更改作为模块“sql”目录中的安装或升级脚本的一部分进行。在您的模块的“config.xml”文件中,增加每个匹配更改的版本号,并记住填写<config><global><resources><MODULE_setup><setup>
节点。
由于脚本在Magento的上下文中运行,您也可以访问所有常规功能,所以更新不一定是SQL命令的形式。
我同意你的评论,但会更进一步,即“更新**不应该以SQL命令的形式出现”。我还没有遇到任何无法通过Magento的配置结构执行的DDL或DML语句。版本控制更容易。 – 2010-11-18 02:15:26
后续问题是[这里](http://stackoverflow.com/q/4315660/471559)。 – clockworkgeek 2010-11-30 15:57:09
不知道它是否仍然是实际的,但是如果您的意思是对系统 - >配置的更改,那么使用此类config.xml节点而不是写入数据库升级要好得多。
Magneto将表表处理为全局XML结构,因此您可以更改XML结构而无需使用数据库表来更改系统配置。
这里是小例子:
<config>
<stores>
<french>
<design>
<theme>
<default>french</default>
<theme>
</design>
</french>
</stores>
<websites>
<base>
<design>
<theme>
<default>english</default>
<theme>
</design>
</base>
</websites>
</config>
在这个例子中一个配置字段被用于在Magento两个作用域改变。根据当前的网站和商店是现在的主题的定义。
因此<stores />
节点包含特定商店的配置值。每个子元素都使用商店代码进行命名,并且在嵌套视图中包含配置数据。并且<website />
节点包含特定网站的配置值。每个子元素都用网站代码命名,并且在嵌套视图中也包含配置数据。
此外,全球范围内的配置值还有可用的<default />
节点。但是如果特定的值是作用域的话,它将被<stores />
和<websites />
覆盖。
我只是通过config.xml对配置进行更改,因为当您只需要通过Magento安装程序进行安装而无需在 “系统 - >配置”中进行更改时,部署项目就容易得多。
据我所知,这种技术只能用于db table'core_config_data'上不存在或为'NULL'的默认值。如果存在价值,我们需要编写数据库升级。我对吗? – 2012-06-25 13:21:42
@ v.kondratyuk,是的,你是对的。实际上,这种方法可让您指定每个商店/网站/默认范围的默认数据集,可由管理员用户随后更改。 如果您在团队中的开发人员或qa部署之间交换代码,那么通过XML文件迁移配置总是好的。如果开发人员或其他用户在数据库中更改了值,则不应通过数据库升级影响此更改,因为它可能会用于调试团队中其他开发人员的会话。 – 2012-12-08 18:46:07
- 1. SpringBoot:配置生产与开发环境
- 2. drupal |将更改迁移到生产
- 3. Wordpress开发环境迁移
- 4. Lotus Domino:在集群环境中将代码更改迁移到生产
- 5. apache中的开发环境将无缝移动到生产
- 6. 从Unix生产环境移动核心转储到其他开发Unix环境
- 7. asp.net生产/开发环境
- 8. SharePoint开发/生产环境
- 9. 开发和生产环境
- 10. Tomcat生产/开发环境
- 11. 将产品从Excel迁移到Magento
- 12. 如何在开发和生产环境之间迁移Ghost博客内容?
- 13. Laravel 5.3。如何配置生产环境?
- 14. Magento迁移到本地环境
- 15. 在生产环境中从SVN迁移到Git
- 16. 将表从生产转移到开发
- 17. 将mySQL从开发转移到生产
- 18. 配置设置从开发者机器转移到生产
- 19. Rails 4:从sqlite3迁移后在开发环境中设置Postgresql
- 20. nodeJS开发和生产环境配置文件加载
- 21. 从现有生产环境创建Sharepoint开发环境
- 22. 从SQL 2005的生产环境中创建开发环境
- 23. 将开发环境迁移到使用CMake + Git
- 24. 从AppFabricLabs将ACS迁移到生产?
- 25. 迁移:在生产环境中回滚并重置
- 26. EF codefirst迁移它是如何工作在生产环境中
- 27. 如何将产品从magento 1.9.3.0迁移到2.1.7?
- 28. Web开发生产/测试/开发环境设置
- 29. 我应该如何将DDL更改从一个环境迁移到下一个环境?
- 30. 从开发APEX应用程序迁移到生产?
除非Magento在部署时有一些非常奇怪的要求,我会说这是[PHP站点部署建议](http://stackoverflow.com/questions/2628835/php-site-deployment-suggestion )。基本上,phing应该可以帮到你。 – Gordon 2010-11-17 18:58:26