Magento:如何将配置更改从开发环境迁移到生产环境?

时间:2010-11-17 18:54:54

标签: php deployment magento e-commerce database-versioning

我们正在积极开发模块,当我们将更改推送到生产站点时,通常需要进行多项配置更改。很高兴能自动完成这个......想法?

2 个答案:

答案 0 :(得分:8)

不确定它是否仍然是实际的,但如果您的意思是更改系统 - >配置,那么使用这样的config.xml节点而不是编写数据库升级要好得多。

Magneto将core_config_data表处理成全局XML结构,因此您可以在不使用db table更改系统配置的情况下更改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安装程序安装它而不进行更改就可以更轻松地部署项目 “系统 - &gt;配置”。

答案 1 :(得分:5)

将更改作为模块“sql”目录中的安装或升级脚本的一部分。在模块的“config.xml”文件中,增加每个匹配更改的版本号,并记住填写<config><global><resources><MODULE_setup><setup>节点。

因为脚本是在Magento的上下文中运行的,所以您也可以访问所有正常功能,更新不必采用SQL命令的形式。

相关问题