docker使用PostgreSQL容器

要执行 db/migrations/ 目录下的多个 SQL 文件以迁移数据库,可以按照以下步骤进行:

1 确认 PostgreSQL 容器正在运行:
确认你已经启动了 PostgreSQL 容器并且它在运行:

docker ps -a

2 确认容器 beaconchain 是 Up 状态。

将 SQL 文件复制到容器中:
如果你的 SQL 文件在宿主机上的 db/migrations/ 目录下,你需要将这些文件复制到 Docker 容器中。假设你当前目录是包含 db/migrations/ 的目录:

docker cp db/migrations/. beaconchain:/migrations

3 在容器中执行 SQL 文件:
进入容器并执行这些 SQL 文件。你可以使用以下脚本依次执行 migrations 目录下的所有 SQL 文件:

docker exec -it beaconchain bash

进入容器后,可以使用如下脚本执行所有 SQL 文件:

for file in /migrations/*.sql; do
    psql -U beaconchain -d beaconchain -f "$file"
done

4 在宿主机上直接执行 SQL 文件:
如果你不想进入容器,也可以从宿主机直接执行这些 SQL 文件。确保你当前目录是包含 db/migrations/ 的目录:

for file in db/migrations/*.sql; do
    docker exec -i beaconchain psql -U beaconchain -d beaconchain -f "$file"
done

这段脚本会循环遍历 db/migrations/ 目录下的所有 .sql 文件,并通过 docker exec 命令在容器中执行每个 SQL 文件。

总结一下:

确认 PostgreSQL 容器正在运行。
将 SQL 文件复制到容器中。
在容器内或从宿主机上依次执行每个 SQL 文件。
如果执行过程中遇到错误,请提供具体的错误信息以便进一步诊断和解决。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值