#!/bin/bash # VI: Script seed database cho từng service riêng lẻ set -e SERVICE=$1 # VI: Xác thực tham số if [ -z "$SERVICE" ]; then echo "Cách dùng: $0 " echo "Ví dụ: $0 iam-service" exit 1 fi # VI: Kiểm tra xem service có tồn tại không if [ ! -d "services/$SERVICE" ]; then echo "❌ Không tìm thấy service $SERVICE" exit 1 fi echo "🌱 Seed database cho $SERVICE..." cd "services/$SERVICE" # VI: Load biến môi trường (hybrid pattern - ĐỒNG BỘ với migrate.sh) # VI: 1. Load shared env (JWT secrets, Redis config) if [ -f "../../deployments/local/.env.local" ]; then set -a source ../../deployments/local/.env.local set +a fi # VI: 2. Load service-specific env (DATABASE_URL, PORT, etc.) if [ -f ".env.local" ]; then set -a source .env.local set +a fi # VI: Kiểm tra DATABASE_URL đã được thiết lập chưa if [ -z "$DATABASE_URL" ]; then echo "⚠️ DATABASE_URL chưa được thiết lập. Vui lòng kiểm tra file .env.local:" echo " - Shared config: ../../deployments/local/.env.local" echo " - Service config: .env.local" exit 1 fi # VI: Generate Prisma client trước khi seed (đảm bảo client updated) echo "📦 Generate Prisma client..." pnpm prisma generate # VI: Chạy seed script echo "🌱 Chạy seed data..." pnpm prisma:seed echo "✅ Database đã được seed thành công!"