40 lines
933 B
Bash
40 lines
933 B
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# 标记文件路径(使用系统级目录)
|
|
FLAG_DIR="/var/lib/db-init"
|
|
FLAG_FILE="$FLAG_DIR/.db_initialized"
|
|
|
|
# 数据库连接配置
|
|
export PGUSER=supabase_admin
|
|
export PGPASSWORD=postgres
|
|
export PGHOST=127.0.0.1
|
|
export PGPORT=5432
|
|
export PGDATABASE=postgres
|
|
|
|
# 提前创建标记目录
|
|
mkdir -p "$FLAG_DIR"
|
|
|
|
# 如果标记已存在,跳过执行
|
|
if [ -f "$FLAG_FILE" ]; then
|
|
echo "✅ Database has already been initialized, skipping."
|
|
exit 0
|
|
fi
|
|
|
|
echo "🚀 Starting database initialization..."
|
|
|
|
# 执行 migrations
|
|
echo "📂 Running migrations..."
|
|
for file in $(ls /supabase/chatai-ui/supabase/migrations/*.sql | sort); do
|
|
echo " ▶ Executing $file"
|
|
psql -f "$file"
|
|
done
|
|
|
|
# 执行 seed.sql
|
|
echo "🌱 Running seed.sql..."
|
|
psql -f /supabase/chatai-ui/supabase/seed.sql
|
|
|
|
# 写入初始化标记
|
|
touch "$FLAG_FILE"
|
|
echo "✅ Database initialization complete. Marked as initialized at $FLAG_FILE"
|