chore(api): use .env.production on server, .env for local dev only
Load production env without .env override; sync-api-env targets .env.production; PM2 NODE_ENV=production; Prisma uses with-api-env.cjs on deploy. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# 在服务器上执行:拉取后的常规发版(不覆盖 .env、默认不 seed)
|
||||
# 在服务器上执行:拉取后的常规发版(不覆盖 .env.production、默认不 seed)
|
||||
set -euo pipefail
|
||||
|
||||
APP_ROOT="${APP_ROOT:-/opt/dukang-haoke}"
|
||||
@@ -46,17 +46,21 @@ pnpm approve-builds --all 2>/dev/null || true
|
||||
pnpm install --frozen-lockfile 2>/dev/null || pnpm install
|
||||
|
||||
if [[ "$SKIP_DB" == false ]]; then
|
||||
echo "==> 3. 数据库 schema 同步(构建前)"
|
||||
echo "==> 3. 数据库 schema 同步(构建前,读取 .env.production)"
|
||||
cd "$APP_ROOT/server/dukang-api"
|
||||
pnpm prisma:generate
|
||||
if [[ ! -f .env.production ]]; then
|
||||
echo "错误: 未找到 server/dukang-api/.env.production" >&2
|
||||
exit 1
|
||||
fi
|
||||
node scripts/with-api-env.cjs pnpm prisma:generate
|
||||
if [[ "$DB_PUSH_ACCEPT_DATA_LOSS" == true ]]; then
|
||||
npx prisma db push --accept-data-loss
|
||||
node scripts/with-api-env.cjs npx prisma db push --accept-data-loss
|
||||
else
|
||||
npx prisma db push
|
||||
node scripts/with-api-env.cjs npx prisma db push
|
||||
fi
|
||||
if [[ "$RUN_SEED" == true ]]; then
|
||||
echo "==> 执行 seed"
|
||||
pnpm prisma:seed
|
||||
node scripts/with-api-env.cjs pnpm prisma:seed
|
||||
fi
|
||||
cd "$APP_ROOT"
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user