0

我使用GAE作爲我的應用程序後端。對於生產環境,我使用第二版。同時繼續開發第一版。在不同版本中使用GAE數據存儲

問題是兩個版本使用相同的數據存儲。有沒有辦法將版本定義到數據存儲。那麼,在開發過程中使用的實體甚至不會在生產中被查詢?

感謝, 丹

+1

您必須定義另一個應用程序。所有版本的應用程序都使用相同的數據存儲。 –

+1

同意原來的評論,你可以使用名稱空間,但是這會引入名稱空間的整個概念,這可能不是一個好主意。一個單獨的測試實例是一個更好的主意。 –

+0

您爲什麼首先在生產環境中開發?這就是本地開發服務器的用途。 –

回答

-1

使用命名空間 https://developers.google.com/appengine/docs/java/multitenancy/multitenancy 它分離的一切,包括分佈式緩存等

+0

它也使事情過度複雜化,並且如果他稍後決定將命名空間用於比測試更有用的事情,也可能會導致問題。 – dragonx

+0

我沒有看到它是如何使事情複雜化,它只是一個簡單的命名空間,如果你以後想要使用它們還可以用於其他事情(做一些簡單的前綴因此它不會與你的調試nsmespace相沖突),你可以繼續使用它們。除了部署一個單獨的實例之外,它也是唯一真正的選擇,並且這樣做並不能爲您提供「真正」部署的確切配置。使用本地(模擬)實例通常不是一種選擇,因爲它在某些apengine功能上表現得非常不同。 –

+0

您需要將檢測某些操作的代碼顯式添加爲測試操作,並使用測試命名空間。所以你最終不會測試完全相同的配置。另外,你不能測試像不支持命名空間的blobstore操作。更改app.yaml中的應用程序名稱,重新部署並知道您有一個準確的重複測試和生產運行,這非常簡單。 – dragonx

0

的應用程序共享的所有版本相同的數據存儲。這實際上非常有用,因爲它允許您將Go組件和Python組件作爲訪問相同數據存儲的單獨版本進行上傳。

出於測試目的,如果您想要單獨的數據庫,請使用單獨的應用程序ID。