如何更新 dockerized postgresql 数据库中的架构?

Ser*_*rov 6 postgresql docker

我有一个docker-compose.yml运行 dockerized postgres 实例的配置:

version: "2.1"

services:
  postgres:
    image: postgres:latest

    volumes:
      - ./data/postgres:/var/lib/postgresql/data
      - ./db_scripts:/docker-entrypoint-initdb.d
Run Code Online (Sandbox Code Playgroud)

这里db_scripts我有一组初始 sql 文件,它们在第一次启动时创建表。然后,当我停止并启动 docker 实例时,这些脚本不再应用,这很好。

不过,我有时需要更新架构 - 更改列格式、添加表、添加或删除列。

当我在 docker 中运行模式更新和迁移时,运行模式更新和迁移的首选方式是什么?

对我来说最明显的方法是启动实例并在正在运行的实例上执行 sql 更改,尽管这更多的是手动过程。

是否有推荐的方法来自动化此过程?