3.2 KiB
3.2 KiB
心願星河 - 數據清空指南
⚠️ 重要警告:以下操作將永久刪除所有數據,請謹慎使用!
可用的清空腳本
1. 綜合清空腳本(推薦)
node scripts/clear-all.js
功能:一次性清空所有數據
- 清空 Supabase Storage 中的所有圖片
- 清空資料庫中的所有表格
- 重置自增序列
- 重新插入初始數據
- 驗證清空結果
2. 單獨清空 Storage
node scripts/clear-storage.js
功能:僅清空圖片存儲
- 清空
wish-images
存儲桶 - 清空
wish-thumbnails
存儲桶
3. 單獨清空資料庫
在 Supabase Dashboard 的 SQL Editor 中執行:
-- 執行 scripts/clear-all-data.sql 文件的內容
使用前準備
1. 確認環境變數
確保以下環境變數已正確設置(在 .env.local
文件中):
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key # 可選,但建議設置
2. 安裝依賴
npm install
# 或
pnpm install
使用步驟
方案 A:一鍵清空(推薦)
# 執行綜合清空腳本
node scripts/clear-all.js
# 腳本會顯示 10 秒倒計時,按 Ctrl+C 可以取消
方案 B:分步驟清空
# 1. 先清空 Storage
node scripts/clear-storage.js
# 2. 再清空資料庫(在 Supabase Dashboard 中執行)
# 將 scripts/clear-all-data.sql 的內容貼到 SQL Editor 中執行
清空後的檢查
1. 驗證 Storage
在 Supabase Dashboard → Storage 中檢查:
wish-images
桶應該是空的wish-thumbnails
桶應該是空的
2. 驗證資料庫
在 Supabase Dashboard → Table Editor 中檢查:
wishes
表應該沒有記錄wish_likes
表應該沒有記錄user_settings
表應該沒有記錄- 其他管理表格會有基礎的初始記錄
3. 測試應用程式
# 重新啟動開發服務器
npm run dev
# 或
pnpm dev
在瀏覽器中:
- 清除 localStorage(開發者工具 → Application → Local Storage → Clear All)
- 重新載入頁面
- 測試提交新的困擾案例
- 確認功能正常運行
故障排除
1. 權限錯誤
Error: Insufficient permissions
解決方案:確保使用 SUPABASE_SERVICE_ROLE_KEY
而不是 ANON_KEY
2. 存儲桶不存在
Error: Bucket does not exist
解決方案:正常現象,腳本會自動跳過不存在的存儲桶
3. 網路錯誤
Error: fetch failed
解決方案:檢查網路連接和 Supabase URL 是否正確
4. 資料庫連接錯誤
解決方案:
- 檢查 Supabase 專案是否暫停
- 驗證 URL 和密鑰是否正確
- 確認專案是否有足夠的配額
注意事項
- 備份重要數據:在生產環境中執行前,請先備份重要數據
- 測試環境優先:建議先在測試環境中驗證腳本功能
- 瀏覽器清除:清空數據後記得清除瀏覽器的 localStorage
- 應用重啟:清空後建議重新啟動應用程式
聯絡支援
如果遇到問題,請檢查:
- 控制台錯誤訊息
- Supabase Dashboard 中的 Logs
- 網路連接狀態
- 環境變數配置