我不能在我的生活中找到有關如何使用Google App Engine和CloudSQL處理遷移的文檔。我正在使用Go運行時。什麼是GAE的最佳遷移策略CloudSQL
很明顯,應用程序的模式會隨着時間的推移而改變和發展,並且需要運行遷移。目前我手動運行遷移。這不可擴展。
有沒有人有解決方案?
我看到一些具體的挑戰:
我可以使用VersionID當前
app.yaml
部署版本的版本。但是,如何檢查此版本是否發生遷移?我將不得不在一個數據庫表中保留一個版本號,並在init()
函數中檢查該版本號?但是,當您上傳應用程序的新版本,新的架構GAE會慢慢migrate your traffic這意味着一旦
init()
在新版本的第一個實例運行,遷移完成後,流量舊版本會在這些數據庫事務中失敗。我可以通過版本控制API來緩解上述問題。但是,這最後會限制遷移策略,如刪除表等
,我很失望,也沒有這方面的documentation據我可以告訴。
我不認爲有任何特定的環境問題。 Cloud SQL只是mysql,gae就是您運行代碼的地方。 –
至少有一個可能感興趣的特例:http://stackoverflow.com/questions/34670194/handling-schema-migrations-in-app-engine –
@DanCornilescu謝謝!但是,這似乎是數據存儲實體。 –