如何在数据库的DEV,QA,PROD环境中部署数据库的连续变化?

(我想知道什么是数据库更改的最佳部署实践,假设例如我们有一个node.js服务器,如果有任何变化,我将部署它们由开发人员在开发中,如果每一件事情顺利在DEV我部署到质量保证和PROD,部署意味着为这些更改创build新的映像,并在jenkins和docker的帮助下删除之前的node.js映像作为容器,我们如何做到这一点?

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

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

我想知道如果假设我必须在数据库中做一些更改。

我有DEV,QA,PROD所以首先变化进入DEV环境,如果每件事情都很好,那么就去QA然后PROD。

那么部署Docker变更的方法是什么呢? 应该是这样的。

  1. 什么时候有变化。

  2. 我将为postgres和所有新的更改手动创build新的图像,或者每次我必须在docker脚本中添加更改以进行更改。

    (我不关心数据量或主机挂载的数据持久性问题,我担心新的数据库更改应该如何转到DEV然后是QA,然后是PROD)

我们如何继续整合/继续部署postgres数据库?

对于任何语言更改 (如node.js中的代码更改),我每次创build新的泊坞窗图像并删除以前的图像。

但是对于数据库更改 ,我怎么做继续集成/继续部署postgres数据库,因为如果我删除docker容器postgres我必须创build整个结构再次为数据库中的单行更改。

任何帮助将赞赏? 这个员工有任何真实的生活经验吗?