升級¶
升級是指將資料庫從較舊版本移至較新的受支援版本(例如,從 Odoo 16.0 升級到 Odoo 18.0)。定期升級至關重要,因為每個版本都提供新功能、錯誤修復和安全性修補程式。強烈建議使用:doc:受支援的版本 <standard_extended_support>。每個主要版本的支援期限為三年。
根據使用的託管類型和 Odoo 版本,資料庫升級可能是**必須的**。
如果資料庫使用的是**主要版本**(例如 16.0、17.0、18.0),則每兩年必須進行一次升級。
如果資料庫使用的是**次要版本**(例如 17.1、17.2、17.4),則在下一個版本發布幾週後必須進行升級。次要版本通常每兩個月發布一次。
在最初三年的支援期後,您還有兩年時間完成升級。當需要升級時,您會收到通知。
您可以無限期地停留在同一版本上,儘管不建議這樣做。請注意,版本差距越小,升級應該越容易。
在強制升級自動執行前幾週,您會在資料庫中收到通知。只要未到達截止日期,您就可以控制整個過程。
具體而言,Odoo 升級團隊會對每個需要升級的資料庫進行靜默測試升級。如果測試成功且持續時間少於 20 分鐘,您可以直接從資料庫觸發升級。如果測試失敗,您可以使用 資料庫管理器 測試升級。
當您被邀請升級時,強烈建議先 請求升級的測試資料庫,然後花時間 測試 它。
如果在指定截止日期前未採取任何行動,則會自動觸發升級到下一個版本。
升級不包括:
警告
如果您的資料庫包含自訂模組,則在目標版本的 Odoo 有可用的自訂模組版本之前,無法進行升級。對於維護自己的自訂模組的客戶,我們建議同時進行以下兩項工作:請求升級的資料庫,同時:doc:升級自訂模組的原始碼 </developer/howtos/upgrade_custom_db>。
簡要升級流程¶
請求升級的測試資料庫(請參閱:ref:
取得升級的測試資料庫 <upgrade-request-test>)。如適用,請升級自訂模組的原始碼以與新版本的 Odoo 相容(請參閱:doc:
/developer/howtos/upgrade_custom_db)。徹底測試升級後的資料庫(請參閱:ref:
測試新版本資料庫 <upgrade-testing>)。如在測試期間遇到任何問題,請前往`支援頁面並選擇「與我的未來升級相關的問題(我正在測試升級)」<https://www.odoo.com/help?stage=migration>`_向 Odoo 回報。
一旦所有問題都已解決,並且您確信升級後的資料庫可以作為主要資料庫使用而不會出現任何問題,請規劃正式資料庫的升級。
請求升級正式資料庫,在完成過程所需的時間內該資料庫將無法使用(請參閱:ref:
升級正式資料庫 <upgrade-production>)。如在升級期間遇到任何問題,請前往`支援頁面並選擇「與我的升級相關的問題(正式環境)」<https://www.odoo.com/help?stage=post_upgrade>`_向 Odoo 回報。
取得升級的測試資料庫¶
`升級頁面<https://upgrade.odoo.com>`_是請求升級資料庫的主要平台。但根據託管類型,您可以從命令列(離線安裝)、Odoo 雲端版`資料庫管理器<https://www.odoo.com/my/databases>`_或您的`Odoo.sh 專案<https://www.odoo.sh/project>`_進行升級。
備註
升級平台遵循與其他 Odoo.com 服務相同的`隱私政策<https://www.odoo.com/privacy>`_。請造訪`一般資料保護規範頁面<https://www.odoo.com/gdpr>`_以了解更多關於 Odoo 如何處理您的資料和隱私。
升級 Odoo 雲端版資料庫:
開啟 資料庫管理員。
選取資料庫並按一下 管理。
在 資料庫 區段中按一下 升級。
在彈出視窗中:
選取您要升級的 Odoo 版本,通常為最新版本。
輸入 通知電子郵件,該信箱將收到升級後資料庫的連結。
選取升級的 目的,第一次升級請求會自動設為 測試。
按一下 升級。
在資料庫管理員中,連線 按鈕將被替換為無法按一下的 正在升級… 按鈕,直到完成為止。程序成功完成後,系統會將包含升級後測試資料庫連結的電子郵件傳送至所提供的地址。您也可以從資料庫管理員存取測試資料庫,方法是按一下資料庫名稱前的 (下拉箭頭) 按鈕以顯示測試資料庫,然後按一下 連線。
Odoo.sh 已與升級平台整合,以簡化升級過程。
然後將**最新的正式環境每日自動備份**傳送到升級平台。
一旦升級平台完成升級備份,並將其上載至分支,它就會進入 特殊模式 :每次在分支上 推送提交 時,都會對升級後的備份,進行一項 恢復操作 ,並 更新所有自訂模組 。這樣,你便可以在已升級資料庫的原始副本上,測試自訂模組。升級過程的日誌檔案,可透過前往 ~/logs/upgrade.log,在新升級的測試構建中找到。
重要
在安裝了自訂模組的資料庫中,必須在執行升級之前將其原始碼更新至目標版本的 Odoo。如果沒有自訂模組,則會跳過「提交時更新」模式,升級後的資料庫會在從升級平台傳輸後立即建立,並退出升級模式。
查看:doc:`/developer/howtos/upgrade_custom_db`頁面以了解更多資訊。
標準升級流程可以透過在託管資料庫的機器上輸入以下命令列來啟動:
$ python <(curl -s https://upgrade.odoo.com/upgrade) test -d <your db name> -t <target version>
備註
此命令對其執行環境有一些要求:
一些必須由作業系統提供的外部命令,通常在任何 Linux 發行版(包括 WSL)中都可以找到。如果缺少一個或多個命令,將顯示錯誤。
執行命令的系統使用者需要配置為能夠存取資料庫。請參閱 PostgreSQL 使用說明中的 client environment 或 client password file 以瞭解此要求。
腳本需要能夠透過 TCP 443 連接埠以及 32768 至 60999 範圍內的任意隨機 TCP 連接埠連接到升級平台的一個或多個伺服器。這可能與您的嚴格防火牆設定發生衝突,可能需要在防火牆配置中加入例外。
可以使用以下命令顯示一般說明和主要命令:
$ python <(curl -s https://upgrade.odoo.com/upgrade) --help
也可以透過 Upgrade page 請求升級測試資料庫。
重要
在安裝了自訂模組的資料庫中,其原始碼必須與 Odoo 的目標版本保持最新狀態,才能執行升級。請查看 Upgrade a customized database 頁面以獲取更多資訊。
備註
出於安全考量,只有提交升級請求的人才能下載。
出於儲存空間考量,資料庫的副本在提交到升級伺服器時不包含檔案儲存區。因此,升級後的資料庫不包含正式環境的檔案儲存區。
在還原升級後的資料庫之前,必須將其檔案儲存區與正式環境的檔案儲存區合併,才能在與新版本相同的條件下進行測試。
升級後的資料庫包含:
一個
dump.sql檔案,包含升級後的資料庫一個
filestore資料夾,包含從資料庫內記錄中提取為附件的檔案(如果有的話)以及目標 Odoo 版本的新標準 Odoo 檔案(例如新圖片、圖示、付款服務商標誌等)。此資料夾應與正式環境的檔案儲存區合併,以獲得完整的升級後檔案儲存區。
備註
如果您希望多次測試升級,可以請求多個測試資料庫。
備註
當升級請求完成時,升級報告會附加到成功升級的電子郵件中,並且會在聊天應用程式中提供給屬於「管理 / 設定」群組的使用者。此報告提供了有關新版本引入的變更的重要資訊。
測試新版本的資料庫¶
務必測試升級後的測試資料庫,以確保在升級上線後,您不會因檢視、行為的變更或錯誤訊息而影響日常活動。
備註
測試資料庫已被中和,並且停用了某些功能以防止它們影響正式環境資料庫:
已停用排程動作。
透過封存現有的外寄郵件伺服器並加入一個虛擬伺服器來停用外寄郵件伺服器。
付款服務商和配送業者已重設為測試環境。
已停用銀行同步。如果您想測試同步,請聯絡您的銀行同步服務商以取得沙盒憑證。
強烈建議儘可能測試您的業務流程,以確保其正常運作並更熟悉新版本。
基本測試檢查清單
測試資料庫中是否有已停用但生產資料庫中處於啟用狀態的檢視?
您的常用檢視是否仍正確顯示?
您的報告(發票、銷售單等)是否正確產生?
您的網站頁面是否正常運作?
您能否建立和修改記錄?(銷售單、發票、採購、使用者、聯絡人、公司等)
您的郵件範本是否有任何問題?
已儲存的翻譯是否有任何問題?
您的搜尋篩選器是否仍然存在?
您能否匯出資料?
在產品目錄中檢查隨機產品,並比較其測試和生產資料以驗證所有內容是否相同(產品類別、售價、成本價、供應商、賬戶、路線等)。
採購此產品(採購應用程式)。
確認收到此產品(庫存應用程式)。
檢查接收此產品的路線是否與生產資料庫中的相同(庫存應用程式)。
將此產品銷售給隨機客戶(銷售應用程式)。
開啟客戶資料庫(聯絡人應用程式),選擇客戶(或公司)並檢查其資料。
出貨此產品(庫存應用程式)。
檢查出貨此產品的路線是否與生產資料庫中的相同(庫存應用程式)。
驗證客戶發票(發票或會計應用程式)。
在資料庫中對發票進行貸記(開立貸記單)並檢查其行為是否與生產資料庫一致。
檢查報表結果(會計應用程式)。
隨機檢查稅項、貨幣、銀行帳戶及會計年度(會計應用程式)。
從商店的產品選擇到結帳流程進行線上訂購(網站應用程式),並檢查所有行為是否與生產資料庫一致。
此清單**並非**詳盡無遺。請根據您對 Odoo 的使用情況將範例擴展至其他應用程式。
如果您在測試升級後的測試資料庫時遇到問題,可以前往 `支援頁面並選擇「與我未來的升級相關的問題(我正在測試升級)」<https://www.odoo.com/help?stage=migration>`_ 以尋求 Odoo 的協助。無論如何,在升級生產資料庫之前,務必回報測試期間遇到的任何問題以便修復。
在測試期間,您可能會遇到標準視圖、功能、欄位及模型的重大差異。這些變更無法逐一還原。然而,如果新版本引入的變更破壞了自訂功能,則自訂模組的維護者有責任使其與新版本的 Odoo 相容。
小訣竅
請勿忘記測試:
與外部軟體的整合(EDI、API 等)
不同應用程式之間的工作流程(電子商務的線上銷售、將潛在客戶轉換為銷售單、產品交付等)
資料匯出
自動化動作
表單視圖操作選單中的伺服器動作,以及在清單視圖中選擇多筆記錄時的操作
升級生產資料庫¶
完成 測試 並確信升級後的資料庫可以作為您的主要資料庫使用而不會出現任何問題後,就該規劃上線日期了。
生產資料庫在升級期間將無法使用。因此,建議在資料庫使用量最少的時段規劃升級。
由於標準升級腳本和您的資料庫不斷演變,因此也建議經常請求另一個升級後的測試資料庫,以確保升級過程仍然成功,特別是當完成時間較長時。也建議在升級生產資料庫的前一天完整演練升級過程。
重要
未經測試即進入生產可能導致:
使用者無法適應變更和新功能
業務中斷(例如無法再驗證某項操作)
不良的客戶體驗(例如電子商務網站無法正常運作)
升級正式資料庫的流程與升級測試資料庫類似,但有一些例外情況。
此流程與:ref:取得已升級的測試資料庫 <upgrade-request-test>`類似,但目的選項必須設定為:guilabel:`正式`而非:guilabel:`測試。
警告
一旦請求升級,資料庫將無法使用,直到升級完成。流程完成後,將無法還原至先前版本。
此流程與在:guilabel:`正式`分支上:ref:`取得已升級的測試資料庫 <upgrade-request-test>`類似。
只要在分支上建立新的提交,流程就會立即觸發。這使升級流程能夠與自訂模組已升級原始碼的部署同步。如果沒有自訂模組,升級流程會立即觸發。
重要
資料庫在整個流程期間無法使用。如果出現任何問題,平台會自動還原升級,就像一般更新一樣。如果成功,會建立升級前資料庫的備份。
您的自訂模組必須成功更新,才能完成整個升級流程。在正式環境中嘗試之前,請確保預備升級的狀態為:guilabel:成功。有關如何升級自訂模組的更多資訊,請參閱:doc:/developer/howtos/upgrade_custom_db。
將資料庫升級至正式環境的指令與升級測試資料庫的指令類似,但參數 test 必須替換為 production:
$ python <(curl -s https://upgrade.odoo.com/upgrade) production -d <your db name> -t <target version>
也可以透過`升級頁面<https://upgrade.odoo.com>`_請求已升級的正式資料庫。
資料庫上傳後,對正式資料庫所做的任何修改都**不會**出現在已升級的資料庫中。因此我們建議在升級流程期間不要使用它。
重要
當請求用於正式用途的已升級資料庫時,副本會在不包含檔案儲存區的情況下提交。因此,在部署新版本之前,必須將已升級資料庫的檔案儲存區與正式環境的檔案儲存區合併。
如果您的正式資料庫出現問題,可以前往`支援頁面並選擇「與我的升級相關的問題(正式環境)」<https://www.odoo.com/help?stage=post_upgrade>`_請求 Odoo 協助。
服務等級協議 (SLA)¶
使用 Odoo Enterprise 時,將資料庫升級至最新版本的 Odoo 免費,包括修正已升級資料庫中潛在差異所需的任何支援。
有關 Enterprise 授權中包含的升級服務資訊,請參閱:ref:Odoo Enterprise 訂閱協議 <upgrade>。然而,本節將說明您可以期待的升級服務。
SLA 涵蓋的升級服務¶
託管在 Odoo 雲端平台(Odoo 雲端版和 Odoo.sh)或自行託管(離線安裝)的資料庫可隨時享有升級服務,適用於:
所有**標準應用程式**的升級;
所有**使用 Studio 應用程式建立的自訂**的升級,前提是 Studio 仍然安裝且相關訂閱仍然有效;以及
所有**由自訂維護訂閱涵蓋的開發和自訂**的升級。
升級服務僅限於資料庫(標準模組和資料)的技術轉換和調整,以使其與升級目標版本相容。
服務等級協議未涵蓋的升級服務¶
以下與升級相關的服務**不**包括在內:
升級時**清理**既有資料和配置;
升級**未由維護合約涵蓋的額外模組**,這些模組由內部或第三方(包括 Odoo 合作夥伴)建立;以及
關於使用升級版本功能和工作流程的**培訓**。
其他資料