2016-04-27 26 views
1

我試圖從greg 5.1.0升級到5.2.0,並且注意到數據庫的問題。從5.1.0升級到wso2 greg 5.2.0並且正在接收數據庫錯誤

遵循文檔化程序,我已將新產品版本與以前版本的數據庫連接起來,下載org.wso2.carbon.greg.migrate.client-5.2.0.jar並將其放入dropins文件夾中。從greg主目錄我已經導航到/ bin並運行wso2server.bat -Dmigrate = 5.2.0。一旦完成,我執行了強制性數據遷移(wso2server.bat -Dmigrate = 5.2.0 -DmigrateProvider = true)。然後我重新索引了所有內容,並在建議的檢查點進行了驗證,確實IDP_METADATA和SP_METADATA表確實存在。然後,我登錄商店和發佈商,但沒有看到我的內容。我檢查了日誌,並看到錯誤拋出,說明操作列不存在和一些其他奇怪的錯誤。我開始調查下面的數據庫錯誤,因爲這是我遇到的第一個錯誤。

ERROR {org.wso2.carbon.identity.application.authentication.framework.store.SessionDataStore} - 錯誤,同時存儲會話數據{org.wso2.carbon.identity.application.authentication.framework.store.SessionDataStore} com.microsoft.sqlserver.jdbc.SQLServerException:無效的列名稱'OPERATION'。

查看java文件我可以看到它正在運行的命令agianst IDN_AUTH_SESSION_STORE和OPERATION是它所引用的字段之一。我在數據庫中查看該表,並且該字段不存在。這讓我想知道是否還有其他更改,所以我在5.1.0創建腳本和5.2.0創建腳本上運行比較。根據比較,我可以在5.1.0中看到該字段不存在,但在5.2.0版本中。除了程序中提到的新表格以及與此錯誤不符之處外,這兩個腳本之間還存在一些差異。

那時我開始調查所有的東西都是org.wso2.carbon.greg.migrate.client-5.2.0.jar的一部分。我在github上找到註冊表遷移客戶端,並且沒有發現源的問題。我可以看到添加升級過程中指定的新表的遷移腳本,但我沒有發現任何其他數據庫更改,這些更改會使5.1.0數據庫與5.2.0創建的框一起內聯。

我知道5.2.0是基於碳4.4.5和5.1.0是4.4.1所以我檢查了碳文件,想知道這在技術上可能是碳變化而不是格雷格變化,但是根據碳文件沒有數據庫 更改從4.4.1-4.4.5升級任何增量版本。如果需要的話,我希望這種改變能夠成爲greg升級的一部分,但只是試圖徹底並涵蓋我所能想到的所有可能性。

我找不到數據庫更新腳本,或者我錯過/誤解了一個步驟。我是否在升級過程中錯過了某些東西或沒有理解某些東西?

+1

可以運行尖集查詢identitty數據庫上的(https://github.com/wso2/product-is/blob/master/modules/migration/migration-5.0.0_to_5.1.0 /scripts/identity/mysql.sql#L142-151)來解決上述問題。我們尚未完成遷移過程。文檔將盡快更新身份遷移。 – Denuwanthi

+0

(https://docs.wso2.com/display/Governance520/Upgrading+from+a+Previous+Release)遷移文檔 – Denuwanthi

+0

謝謝Denuwathi。在原來的問題中我沒有意識到遷移程序並不完整。一旦你提到的部分被添加,我能夠成功地執行安裝。感謝您的幫助。 – jchaplin

回答

0

需要遷移相關的部件分開之前運行

wso2server.bat -Dmigrate = 5.2.0

命令身份組件和用戶數據。

  1. 從此URL下載migration client
  2. 然後複製MIGRATION_CLIENT_HOME/org.wso2.carbon.is。migrate.client-5.1.0.jar文件到G-REG_HOME/repository/components/dropins/目錄。
  3. 然後MIGRATION_CLIENT_HOME /遷移身份4.5.6_to_5.0.8/複製到G-REG_HOME/dbscripts /同一性/遷移身份4.5.6_to_5.0.8/MIGRATION_CLIENT_HOME /遷移-UM-4.5 .6_to_5.0.8/G-REG_HOME/dbscripts /遷移-UM-4.5.6_to_5.0.8/
  4. 然後,導航到G-REG_HOME/bin中/目錄和EXECUT下面的命令來遷移身份和用戶數據分開。

    wso2server.bat -Dmigrate -DmigrateIdentity =真-Dcomponent =身份

    wso2server.bat -Dmigrate -DmigrateUMDB =真-Dcomponent =身份

  5. 按照其餘的遷移步驟在WSO2 official documentation中的說明這裏。

如果打開MIGRATION_CLIENT_HOME /遷移身份4.5.6_to_5.0.8/mysql.sql腳本,你可以看到有一個aulter腳本添加命名爲操作的IDN_AUTH_SESSION_STORE表中的新coulnm。

ALTER TABLE IDN_AUTH_SESSION_STORE ADD OPERATION VARCHAR(10) NOT NULL;