新增資料庫架構
This commit is contained in:
91
setup-supabase.sh
Normal file
91
setup-supabase.sh
Normal file
@@ -0,0 +1,91 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 心願星河 - Supabase 快速設置腳本
|
||||
# 使用方法: chmod +x setup-supabase.sh && ./setup-supabase.sh
|
||||
|
||||
echo "🚀 心願星河 - Supabase 整合設置開始..."
|
||||
|
||||
# 檢查 Node.js
|
||||
if ! command -v node &> /dev/null; then
|
||||
echo "❌ 請先安裝 Node.js"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 檢查 npm
|
||||
if ! command -v npm &> /dev/null; then
|
||||
echo "❌ 請先安裝 npm"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ Node.js 和 npm 已安裝"
|
||||
|
||||
# 安裝依賴
|
||||
echo "📦 安裝專案依賴..."
|
||||
npm install
|
||||
|
||||
# 安裝 Supabase 客戶端
|
||||
echo "📦 安裝 Supabase 客戶端..."
|
||||
npm install @supabase/supabase-js
|
||||
|
||||
# 檢查環境變數檔案
|
||||
if [ ! -f ".env.local" ]; then
|
||||
if [ -f ".env.local.example" ]; then
|
||||
echo "📝 複製環境變數範本..."
|
||||
cp .env.local.example .env.local
|
||||
echo "⚠️ 請編輯 .env.local 檔案,填入你的 Supabase 配置"
|
||||
else
|
||||
echo "📝 創建環境變數檔案..."
|
||||
cat > .env.local << EOF
|
||||
# Supabase 配置
|
||||
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
|
||||
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
|
||||
|
||||
# 可選:Supabase Service Role Key
|
||||
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
|
||||
EOF
|
||||
echo "⚠️ 請編輯 .env.local 檔案,填入你的 Supabase 配置"
|
||||
fi
|
||||
else
|
||||
echo "✅ .env.local 檔案已存在"
|
||||
fi
|
||||
|
||||
# 檢查 SQL 腳本
|
||||
echo "🗄️ 檢查 SQL 腳本..."
|
||||
sql_files=(
|
||||
"scripts/01-create-tables.sql"
|
||||
"scripts/02-create-indexes.sql"
|
||||
"scripts/03-create-views-functions.sql"
|
||||
"scripts/04-setup-storage.sql"
|
||||
"scripts/05-setup-rls.sql"
|
||||
)
|
||||
|
||||
missing_files=()
|
||||
for file in "${sql_files[@]}"; do
|
||||
if [ ! -f "$file" ]; then
|
||||
missing_files+=("$file")
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ${#missing_files[@]} -eq 0 ]; then
|
||||
echo "✅ 所有 SQL 腳本檔案都存在"
|
||||
else
|
||||
echo "❌ 缺少以下 SQL 腳本檔案:"
|
||||
for file in "${missing_files[@]}"; do
|
||||
echo " - $file"
|
||||
done
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "🎉 設置完成!"
|
||||
echo ""
|
||||
echo "📋 下一步操作:"
|
||||
echo "1. 前往 https://supabase.com/dashboard 創建新項目"
|
||||
echo "2. 編輯 .env.local 檔案,填入 Supabase 配置"
|
||||
echo "3. 在 Supabase SQL Editor 中按順序執行 SQL 腳本:"
|
||||
for i in "${!sql_files[@]}"; do
|
||||
echo " $((i+1)). ${sql_files[$i]}"
|
||||
done
|
||||
echo "4. 執行 npm run dev 測試本地環境"
|
||||
echo "5. 部署到 Vercel: npx vercel --prod"
|
||||
echo ""
|
||||
echo "📖 詳細說明請參考 SUPABASE-COMPLETE-SETUP.md"
|
Reference in New Issue
Block a user