我們正在積極開發模塊,當我們將更改推送到生產現場時,通常需要進行多項配置更改。將自動化這個想法會很好嗎?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