aiflow / import-db.sh
hijnu's picture
Create import-db.sh
22ec144 verified
raw
history blame
1.2 kB
#!/bin/bash
# 设置变量
DUMP_URL="https://mysite.site/backups.dump"
DUMP_FILE="/tmp/backups.dump"
DB_NAME="$POSTGRES_DB"
DB_USER="$POSTGRES_USER"
# 检查是否需要导入数据库
if [ "$DB_IMPORT" = "yes" ]; then
echo "开始导入数据库..."
# 下载 dump 文件
echo "正在下载数据库备份文件..."
if curl -f -o "$DUMP_FILE" "$DUMP_URL"; then
echo "下载成功."
else
echo "下载失败. 退出导入过程."
exit 1
fi
# 检查数据库是否存在
if psql -lqt | cut -d \| -f 1 | grep -qw "$DB_NAME"; then
echo "数据库 $DB_NAME 已存在. 删除现有数据库..."
dropdb -U "$DB_USER" "$DB_NAME"
fi
# 创建新的数据库
echo "创建新的数据库 $DB_NAME..."
createdb -U "$DB_USER" "$DB_NAME"
# 导入数据
echo "正在导入数据到 $DB_NAME..."
if pg_restore -U "$DB_USER" -d "$DB_NAME" "$DUMP_FILE"; then
echo "数据导入成功."
else
echo "数据导入失败."
exit 1
fi
# 删除临时文件
rm -f "$DUMP_FILE"
echo "数据库导入过程完成."
else
echo "跳过数据库导入 (DB_IMPORT 不是 'yes')."
fi