(我想知道什么是用于数据库更改的最佳部署实践,例如假设我们有一个node.js服务器,如果有任何更改,我在开发人员中由jenkins部署它们如果DEV中的所有事情都顺利,我将更改部署到QA和PROD . 部署意味着为该更改创建新映像,并在jenkins和docker作为容器的帮助下删除以前的node.js映像 . 我们如何为数据库执行此操作?)

我在docker环境中需要数据库的环境中工作 . 我没有得到的是假设 .

我第一次为postgres设置了docker容器,我已经将所有表添加到模式和所有函数中 .

I want to know what if suppose i have to do some changes in the database .

我有DEV,QA,PROD所以首先改变进入DEV环境,如果一切都很好,那就去QA然后PROD .

那么什么应该是部署docker更改的更改的方法 . 应该是这样的 .

  • 什么时候有任何变化 .

  • 我将手动创建postgres的新图像及其所有新更改,或者每次我必须在docker脚本中添加更改以进行更改 .

(I am not concern about the data persistent that i can do by data volume or host mounting . I am concern about how the new database changes should go to DEV then QA then PROD)

How can we do continue integration / continue deployment for postgres database?

For any language change like(node.js中的代码更改)i每次创建新的docker镜像并删除以前的图像 .

But for database changes 如何继续为postgres数据库进行集成/继续部署,因为如果我删除了postgres的docker容器,我必须再次为数据库中的单行更改创建整个结构 .

任何帮助将不胜感激?这个工作人员有真实的生活经历吗?