2012-02-23 39 views
8

我幾乎不敢問這個問題,因爲它似乎應該通過谷歌或ravendb.net隨時可用。然而,我一直在尋找將RavenDB升級到新版本的正確方法。我目前正在運行573版本,並希望升級到616,僅僅是爲了在Raven Studio中提升索引的能力。RavenDB升級

什麼是正確的升級方法?我是否備份我的數據庫,刪除硬盤上的整個Raven文件夾,然後將新的616版本複製到同一個文件夾區域?然後恢復數據庫?

編輯:

如何升級RavenDB v573到V960(11月27日2012):

注:更改maxpagesize可並不推薦(步驟7.b中)。

  1. 針對本地960運行自動化測試來驗證任何內容沒有中斷。
  2. 備份573 RavenDB
  3. 安裝/解壓縮960到生產服務器從573
  4. 複製數據文件夾,以960
  5. 給用戶PrestoDatabaseUser完全訪問數據的文件夾
  6. 卸載現有RavenDB服務:
    一。 sc delete RavenDB
    b。將舊的573文件夾重命名爲RavenDB-Build-573_deprecate
  7. 設置Raven.Server.exe.config(從原始配置中引入任何更改的設置):
    a。 <add key="Raven/AnonymousAccess" value="Get"/>
    b。 <add key="Raven/MaxPageSize" value="2147483647"/>
    c。 <add key="Raven/Authorization/Windows/RequiredUsers" value="domain\UserName"/>
  8. 作爲服務安裝:
    a。 C:\Software\RavenDb\RavenDB-Build-960\Server>Raven.Server.exe /install
  9. 變化RavenDB備份批處理文件指向新的960文件夾結構
  10. 如果服務/應用程序不響應新RavenDB,重新啓動它們。

回答

9

BobHorn,

我做到這一點,就我們的生產站點:-) 1)停止IIS站點。 2)替換二進制文件 3)啓動IIS站點。

如果這是一個很大的變化,我也做一個備份。 但這是非常多的。

+0

是否只需要更換服務器文件夾中的二進制文件?還是應該更換RavenDB-Build-573中的所有內容? – 2012-02-23 21:31:28

+0

是否有必要在Client文件夾中使用新的二進制文件?我使用.NET客戶端API,而不是IIS。 – 2012-02-23 21:42:35

+0

你可以通過nuget做到這一點。 – 2012-02-24 17:48:41

2

在過去,我已經安裝了RavenDB新版本作爲一個完全獨立於舊網站的IIS網站。然後將數據文件夾從舊位置移動到新位置。然後慢慢淘汰老一出(當然根據你的情況,你會改變相應的IIS設置的網站,你不斷淘汰舊)

+0

謝謝。我沒有使用Raven的IIS。我正在使用.NET API。我有能力在短時間內將數據庫完全脫機,所以我不需要逐步退出。根據你所說的話,它看起來像我可以做我剛纔提出的問題:備份數據庫,刪除舊的Raven安裝,安裝新的Raven,恢復備份。 – 2012-02-23 14:52:58

+0

我希望有一個更好的升級方法,然後在後臺照顧所有這些...可能會有。其中一位專家Daniel或Ayende可能會幫助你。 – ZVenue 2012-02-23 15:04:22

+0

我其實並不認爲這是一個糟糕的解決方案;我只想知道這是否是正確的做法。 – 2012-02-23 15:24:06