33 lines
876 B
Bash
Executable File
33 lines
876 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/_common.sh"
|
|
|
|
if [ ! -f "${ACCOUNT_IMPORT_FILE}" ]; then
|
|
echo "❌ 未找到文件 ${ACCOUNT_IMPORT_FILE}"
|
|
exit 1
|
|
fi
|
|
|
|
args=(import --dsn "${DB_URL}" --file "${ACCOUNT_IMPORT_FILE}")
|
|
if [ -n "${ACCOUNT_IMPORT_MERGE-}" ]; then
|
|
args+=(--merge)
|
|
fi
|
|
if [ -n "${ACCOUNT_IMPORT_MERGE_STRATEGY-}" ]; then
|
|
args+=(--merge-strategy "${ACCOUNT_IMPORT_MERGE_STRATEGY}")
|
|
fi
|
|
if [ -n "${ACCOUNT_IMPORT_DRY_RUN-}" ]; then
|
|
args+=(--dry-run)
|
|
fi
|
|
if [ -n "${ACCOUNT_IMPORT_MERGE_ALLOWLIST-}" ]; then
|
|
for uuid in ${ACCOUNT_IMPORT_MERGE_ALLOWLIST}; do
|
|
args+=(--merge-allowlist "${uuid}")
|
|
done
|
|
fi
|
|
if [ -n "${ACCOUNT_IMPORT_EXTRA_FLAGS-}" ]; then
|
|
# shellcheck disable=SC2206
|
|
extra=( ${ACCOUNT_IMPORT_EXTRA_FLAGS} )
|
|
args+=("${extra[@]}")
|
|
fi
|
|
|
|
go run ./cmd/migratectl/main.go "${args[@]}"
|