hijnu commited on
Commit
6f6a8bb
·
verified ·
1 Parent(s): 1aae828

Update import-db.sh

Browse files
Files changed (1) hide show
  1. import-db.sh +28 -12
import-db.sh CHANGED
@@ -1,10 +1,12 @@
1
  #!/bin/bash
2
 
3
  # 设置变量
4
- DUMP_URL="https://mysite.site/backups.dump"
5
  DUMP_FILE="/tmp/backups.dump"
6
- DB_NAME="$POSTGRES_DB"
7
- DB_USER="$POSTGRES_USER"
 
 
 
8
 
9
  # 检查是否需要导入数据库
10
  if [ "$DB_IMPORT" = "yes" ]; then
@@ -12,25 +14,38 @@ if [ "$DB_IMPORT" = "yes" ]; then
12
 
13
  # 下载 dump 文件
14
  echo "正在下载数据库备份文件..."
15
- if curl -f -o "$DUMP_FILE" "$DUMP_URL"; then
16
  echo "下载成功."
17
  else
18
- echo "下载失败. 退出导入过程."
19
  exit 1
20
  fi
21
 
22
  # 检查数据库是否存在
23
- if psql -lqt | cut -d \| -f 1 | grep -qw "$DB_NAME"; then
24
- echo "数据库 $DB_NAME 已存在. 删除现有数据库..."
25
- dropdb -U "$DB_USER" "$DB_NAME"
 
 
 
 
 
 
 
 
26
  fi
27
 
28
  # 创建新的数据库
29
- echo "创建新的数据库 $DB_NAME..."
30
- createdb -U "$DB_USER" "$DB_NAME"
 
 
 
 
 
31
 
32
  # 导入数据
33
- echo "正在导入数据到 $DB_NAME..."
34
  if pg_restore -U "$DB_USER" -d "$DB_NAME" "$DUMP_FILE"; then
35
  echo "数据导入成功."
36
  else
@@ -39,9 +54,10 @@ if [ "$DB_IMPORT" = "yes" ]; then
39
  fi
40
 
41
  # 删除临时文件
 
42
  rm -f "$DUMP_FILE"
43
 
44
  echo "数据库导入过程完成."
45
  else
46
  echo "跳过数据库导入 (DB_IMPORT 不是 'yes')."
47
- fi
 
1
  #!/bin/bash
2
 
3
  # 设置变量
 
4
  DUMP_FILE="/tmp/backups.dump"
5
+ DB_NAME="$DB_POSTGRESDB_DATABASE"
6
+ DB_USER="$DB_POSTGRESDB_USER"
7
+ DB_PASS="$DB_POSTGRESDB_PASSWORD"
8
+ WEBDAV_URL="$WEBDAV_URL"
9
+ DB_IMPORT="$DB_IMPORT"
10
 
11
  # 检查是否需要导入数据库
12
  if [ "$DB_IMPORT" = "yes" ]; then
 
14
 
15
  # 下载 dump 文件
16
  echo "正在下载数据库备份文件..."
17
+ if curl -f -o "$DUMP_FILE" "${WEBDAV_URL}/backup.dump"; then
18
  echo "下载成功."
19
  else
20
+ echo "下载失败. 无法从 ${WEBDAV_URL} 获取数据库备份文件."
21
  exit 1
22
  fi
23
 
24
  # 检查数据库是否存在
25
+ echo "检查数据库是否存在..."
26
+ if psql -U "$DB_USER" -lqt | cut -d \| -f 1 | grep -qw "$DB_NAME"; then
27
+ echo "数据库 ${DB_NAME} 已存在,准备删除现有数据库..."
28
+ if dropdb -U "$DB_USER" "$DB_NAME"; then
29
+ echo "数据库 ${DB_NAME} 已删除."
30
+ else
31
+ echo "删除数据库失败,退出."
32
+ exit 1
33
+ fi
34
+ else
35
+ echo "数据库 ${DB_NAME} 不存在,将创建新数据库."
36
  fi
37
 
38
  # 创建新的数据库
39
+ echo "创建新的数据库 ${DB_NAME}..."
40
+ if createdb -U "$DB_USER" "$DB_NAME"; then
41
+ echo "数据库 ${DB_NAME} 创建成功."
42
+ else
43
+ echo "创建数据库失败,退出."
44
+ exit 1
45
+ fi
46
 
47
  # 导入数据
48
+ echo "正在导入数据到 ${DB_NAME}..."
49
  if pg_restore -U "$DB_USER" -d "$DB_NAME" "$DUMP_FILE"; then
50
  echo "数据导入成功."
51
  else
 
54
  fi
55
 
56
  # 删除临时文件
57
+ echo "清理临时文件..."
58
  rm -f "$DUMP_FILE"
59
 
60
  echo "数据库导入过程完成."
61
  else
62
  echo "跳过数据库导入 (DB_IMPORT 不是 'yes')."
63
+ fi