feat(admin): integrate Next.js admin panel (admin-next/) from feat/nextjs-admin
- Add admin-next/: full Next.js + Prisma + shadcn admin panel (45 API routes, 76 components) - docker-compose: tg_shop_admin service (port 3000, shared db/shop.db, prisma), bot talks to it via ADMIN_CHAT_URL=http://tg_shop_admin:3000/api/chat - tor-proxy now proxies onion admin to tg_shop_admin:3000 (new panel) - chatbotService: ADMIN_CHAT_URL default = http://tg_shop_admin:3000/api/chat (removed localhost:3100 anachronism) - .env admin secrets gitignored (admin-next/.env)
This commit is contained in:
33
admin-next/.zscripts/database-runtime-build.sh
Executable file
33
admin-next/.zscripts/database-runtime-build.sh
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
PROJECT_DIR="${PROJECT_DIR:-/home/z/my-project}"
|
||||
BUILD_DIR="${BUILD_DIR:?BUILD_DIR is required}"
|
||||
SOURCE_DB_DIR="$PROJECT_DIR/db"
|
||||
SOURCE_DB_PATH="$SOURCE_DB_DIR/custom.db"
|
||||
TARGET_DB_DIR="$BUILD_DIR/db"
|
||||
TARGET_DB_PATH="$TARGET_DB_DIR/custom.db"
|
||||
|
||||
mkdir -p "$TARGET_DB_DIR"
|
||||
|
||||
if [ -f "$SOURCE_DB_PATH" ]; then
|
||||
echo "🗄️ 复制 Preview 数据库到构建产物..."
|
||||
cp -a "$SOURCE_DB_DIR/." "$TARGET_DB_DIR/"
|
||||
else
|
||||
echo "ℹ️ 未找到 Preview 数据库 db/custom.db,将初始化空的生产数据库"
|
||||
fi
|
||||
|
||||
echo "🗄️ 同步构建产物中的数据库结构..."
|
||||
(
|
||||
cd "$PROJECT_DIR"
|
||||
DATABASE_URL="file:$TARGET_DB_PATH" bun run db:push
|
||||
)
|
||||
|
||||
if [ ! -f "$TARGET_DB_PATH" ]; then
|
||||
echo "❌ 数据库初始化命令执行成功,但未生成 $TARGET_DB_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ 构建产物数据库已准备完成"
|
||||
ls -lah "$TARGET_DB_DIR"
|
||||
Reference in New Issue
Block a user