postgresql - 使用脚本更新 postgres docker 容器中的现有表
问题描述
我有一个使用 docker/compose 调出的 postgres 容器。我已经附加了一个卷,所以当容器再次启动时,现有的数据库会被保留。我想做的是创建一个 SQL 脚本来更改现有表或添加新表。但由于数据库已经存在,我在日志中看到以下行:
PostgreSQL Database directory appears to contain a database; Skipping initialization
目前,我将这些脚本传递到 postgres init 目录,在我的 Dockerfile 中包含以下内容:
COPY ./scripts/init/*.sql /docker-entrypoint-initdb.d/
即使数据库已经存在,是否有一个位置可以传递将由 postgres 容器运行的附加脚本?
解决方案
推荐阅读
- python - 使用弹性搜索和 python 提高性能
- javascript - 用于匹配包含一个单词并排除另一个单词的 URL 的正则表达式
- visual-c++ - 为什么我的重载构造函数会导致崩溃?
- c# - 为什么我从飞机上掉下来?
- java - 在循环运行时获取控制台读数
- ios - 无法在 iOS 模拟器上通过 Google 登录
- python - 在 Windows 上编译协议缓冲区 Tensorflow 对象检测 API
- node.js - 如何在 Docker 中更改 package.json 的文件路径?
- gradle - 从 Gradle 创建 PlantUML 图表
- tensorflow - 如何将 ssd_resnet_50 tensorflow 检查点转换为 .tflite?