如何在停靠的postgresql数据库中更新模式?
我有一个如何在停靠的postgresql数据库中更新模式?,postgresql,docker,Postgresql,Docker,我有一个docker compose.ymlconfig来运行停靠的postgres实例: version: "2.1" services: postgres: image: postgres:latest volumes: - ./data/postgres:/var/lib/postgresql/data - ./db_scripts:/docker-entrypoint-initdb.d 在这里的db\u脚本中,我有一组初始sql文件,可以
docker compose.yml
config来运行停靠的postgres实例:
version: "2.1"
services:
postgres:
image: postgres:latest
volumes:
- ./data/postgres:/var/lib/postgresql/data
- ./db_scripts:/docker-entrypoint-initdb.d
在这里的db\u脚本中,我有一组初始sql文件,可以在第一次启动时创建表。然后,当我停止并启动docker实例时,这些脚本将不再应用,这很好
不过,我需要不时地更新模式—更改列格式、添加表、添加或删除列
在docker中运行模式更新和迁移时,首选的方式是什么
对我来说,最明显的方法就是启动实例并在运行的实例上执行sql更改,尽管这更像是一个手动过程
是否有一种推荐的方法来自动化这个过程?通常我看到模式更新是使用DB的应用程序的一部分,有许多开源工具来完成这项工作,例如,在Java中,我们有Flyway的Liquibase。如果数据库不在Docker中,您将以完全相同的方式完成这项工作。大多数高级数据库库都有某种迁移系统,我会使用它。你在使用某种ORM吗?像sqlalchemy
或Django ORM
?