簡體   English   中英

Magento的SUPEE-6788補丁不能與Git / Github一起使用

[英]Magento's SUPEE-6788 patch not working with Git/Github

在我的localhost上成功安裝SUPEE-6788補丁並將更改推送到開發之后,我注意到我的開發環境中的一些問題,我在Localhost上沒有看到。

我發現的第一個問題是我的聯系表單塊都沒有出現。

然后我注意到它不僅限於聯系表單,它在任何地方都有一個表單(通過CMS頁面)。

在深入挖掘(異常堆棧跟蹤)之后,我發現我在調用'permission_block'之前缺少一個不存在的表。

經過一番挖掘后,我發現補丁中發生了許多數據庫更新,這些更新在推送到開發時沒有運行(通過升級腳本)。 直接查看補丁,我可以看到升級腳本實際上已更新,並且配置文件反映了這些更新(版本號和所有)。 但由於某種原因,他們沒有跑。

現在我有點陷入兩難境地了。 我不確定發生了什么更新以及哪些更新沒有(在開發環境中)。

SUPEE補丁Magento發布版本是不是要與Git / Github一起使用?

我是否需要將修補程序單獨應用於每個構建,而不是在修補后推送構建?

SUPEE補丁Magento版本是不是要與Git / Github一起使用

SUPEE補丁中沒有任何內容可以阻止您使用Git / GitHub來管理您的存儲庫。

這就是說-你的問題沒有引起太大的意義,我認為這可能是由於對如何應用這些數據庫升級的誤解。

Magento Setup Resource腳本允許模塊開發人員更新數據庫。 每當Magento加載未緩存的 HTTP請求時,它都會

  1. 檢查app/etc/(code|community|local)的所有已聲明模塊的版本app/etc/(code|community|local)

  2. 將該版本與core_resource表中存儲的版本進行比較

  3. 如果文件系統上安裝了更新版本,請在sql/文件夾中運行相應的安裝資源腳本

  4. 更新core_resource以指示安裝的版本

根據您的問題,聽起來像下面發生的一件事

  1. 您從源上載了更新的文件,但從未在生產中清除緩存,並且設置資源腳本從未運行過

  2. 您上傳了更新的文件,確實清除了緩存,但是生產系統的某些內容阻止了腳本完全運行。 由於MySQL沒有針對所有結構更改命令的事務更新,因此設置資源腳本可能無法完全運行,但仍然使用相同版本更新core_resource表。

我首先將core_resource的擴展版本與文件系統上的版本進行比較(在config.xml

此外,您可以使用sys:setup:incremental命令,該命令是n98-magerun程序的一部分,可在不清除緩存的情況下手動應用更新。 這還可以幫助您診斷哪些故障(如果有)可能導致問題。

最后,由於您有一個可用的開發版本,作為最后的手段,您可以使用mysqldump轉儲每個數據庫的結構,然后與可視化差異工具(如WinMerge )進行比較,以確定缺少哪些表/行。 你需要對此應用一些智能(因為dev可能還有其他不需要的東西)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM