dab47f0cb3
- 添加 .env.local 支持,app.sh 和 dev-migrate.sh 自动覆盖 - Docker Compose 使用 profiles 区分 dev/prod 环境 - 改进认证 dev session 判断逻辑,使用 test account 配置 - 修复 CoinPackageCard 重复代码问题 - 清理 opencode 配置,移除敏感信息 - 新增 infra/docker/README.md 文档 - 修复 ruff/pyright/flutter lint 错误 - 更新测试用例移除已删除的 country 字段
55 lines
1.4 KiB
Bash
Executable File
55 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
ENV_FILE="$ROOT_DIR/.env"
|
|
ENV_LOADER="$ROOT_DIR/infra/scripts/lib/env.sh"
|
|
|
|
usage() {
|
|
echo "Usage: $0 {migrate|init-data|sync-notifications|bootstrap}"
|
|
echo ""
|
|
echo "Commands:"
|
|
echo " migrate Run database migrations only"
|
|
echo " init-data Initialize seed data only"
|
|
echo " sync-notifications Sync static notification configs to DB"
|
|
echo " bootstrap Run migrations + init-data + sync-notifications"
|
|
echo ""
|
|
echo "Note: Requires redis service running (docker compose up -d redis)"
|
|
exit 1
|
|
}
|
|
|
|
if [ ! -f "$ENV_FILE" ]; then
|
|
echo "Error: env file not found at $ENV_FILE" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# shellcheck disable=SC1090
|
|
. "$ENV_LOADER"
|
|
load_env_file "$ENV_FILE"
|
|
load_env_file "$ROOT_DIR/.env.local"
|
|
|
|
cd "$ROOT_DIR"
|
|
|
|
case "${1:-}" in
|
|
migrate)
|
|
echo "=== Running Migrations ==="
|
|
PYTHONPATH=backend/src uv run python -m core.runtime.cli migrate
|
|
;;
|
|
init-data)
|
|
echo "=== Running Init Data ==="
|
|
PYTHONPATH=backend/src uv run python -m core.runtime.cli init-data
|
|
;;
|
|
sync-notifications)
|
|
shift
|
|
echo "=== Running Sync Notifications ==="
|
|
PYTHONPATH=backend/src uv run python -m core.runtime.cli sync-notifications "$@"
|
|
;;
|
|
bootstrap)
|
|
echo "=== Running Bootstrap ==="
|
|
PYTHONPATH=backend/src uv run python -m core.runtime.cli bootstrap
|
|
;;
|
|
*)
|
|
usage
|
|
;;
|
|
esac
|