我有一個在生產服務器上運行的小應用程序。在下一次更新中,數據庫模式將會改變;這意味着生產數據庫模式將需要改變,並且需要進行一些數據操作。Node.js,Express,MySQL - 更新模式
這樣做的最好方法是什麼? I.E運行一次性腳本以在部署到生產服務器時完成這些任務?
堆棧: 的NodeJS Expressjs MySQL的使用節點的MySQL Codeship Elasticbeanstalk
謝謝!
我有一個在生產服務器上運行的小應用程序。在下一次更新中,數據庫模式將會改變;這意味着生產數據庫模式將需要改變,並且需要進行一些數據操作。Node.js,Express,MySQL - 更新模式
這樣做的最好方法是什麼? I.E運行一次性腳本以在部署到生產服務器時完成這些任務?
堆棧: 的NodeJS Expressjs MySQL的使用節點的MySQL Codeship Elasticbeanstalk
謝謝!
「最好的方式」取決於你的情況。這很少發生,還是可能定期發生?有多少臺生產服務器?是否有其他環境,例如用於集成測試,分期等?你的開發人員在他們的機器上有自己的數據庫環境嗎?你的過程是否涉及持續集成?
您的景觀越複雜,使用Todd R建議的解決方案(Liquibase,Flywaydb)就越好。
如果你只是有一個生產服務器,它可以是停機維護了幾個小時後,它可能是足以
如果出現任何錯誤,回滾到數據庫和軟件的備份版本。
建議使用數據庫更新腳本。經過一次或多次測試後更可取。提前創建備份至關重要。
http://www.liquibase.org/或http://flywaydb.org/ - 相當「沉重」的一次性使用,但如果您將來需要再次更改模式,可能值得投入時間去學習其中的一種。
*「I.E運行一次性腳本以在部署到生產服務器時完成這些任務」*這通常是一個很好的選擇,只要確保所述腳本的一部分涉及創建備份即可。 –