Spaces:
Sleeping
Sleeping
| # 检查是否需要导入数据库 | |
| if [ "$DB_IMPORT" = "yes" ]; then | |
| echo "Starting database import..." | |
| # 读取下载 URL 和解压密码(如果有) | |
| DUMP_URL=${DUMP_URL:-""} # 数据库 dump 文件的下载 URL | |
| DUMP_PASSWORD=${DUMP_PASSWORD:-""} # 如果 dump 文件有密码保护 | |
| # 检查 URL 是否为空 | |
| if [ -z "$DUMP_URL" ]; then | |
| echo "DUMP_URL is not set. Skipping database import." | |
| # 不退出,仅跳过导入步骤 | |
| exit 0 | |
| fi | |
| # 下载数据库 dump 文件 | |
| echo "Downloading dump file from $DUMP_URL..." | |
| wget -O /tmp/dump.sql "$DUMP_URL" || { echo "Failed to download dump file."; exit 1; } | |
| # 检查文件是否有密码保护,并使用 pg_restore 或 psql 进行导入 | |
| if [ -n "$DUMP_PASSWORD" ]; then | |
| echo "Dump file is protected with a password." | |
| # 使用 pg_restore 导入 | |
| PGPASSWORD="$DUMP_PASSWORD" pg_restore -U $DB_POSTGRESDB_USER -d $DB_POSTGRESDB_DATABASE /tmp/dump.sql || { | |
| echo "Failed to import dump file with password."; exit 1; | |
| } | |
| else | |
| echo "Dump file is not password protected." | |
| # 使用 psql 直接导入 | |
| psql -U $DB_POSTGRESDB_USER -d $DB_POSTGRESDB_DATABASE -f /tmp/dump.sql || { | |
| echo "Failed to import dump file."; exit 1; | |
| } | |
| fi | |
| echo "Database import completed successfully." | |
| else | |
| echo "Skipping database import." | |
| fi | |