Files
qzl dab47f0cb3 chore: 优化本地开发环境配置
- 添加 .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 字段
2026-04-28 18:49:38 +08:00

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