下載及建置應用程式
MeDo 的專案程式碼匯出功能可讓你下載應用程式原始碼、在本機運行,並在有後端時把後端遷移至你自己的 Supabase 專案。每次下載需消耗 300 點數。
注意: 若你的應用程式為純前端(無後端資料),只需第 1 至 4 節,然後在第 9 節於本機運行。若使用後端資料儲存,請依完整流程在你自己的 Supabase 上重建結構。
1. 下載包裡有什麼、沒有什麼
透過下載程式碼取得的 ZIP,內含後端的結構與函式程式碼,但不含資料、檔案或密鑰。這決定了遷移需要處理哪些內容。
注意:
.env內的 URL 與 anon key 指向 MeDo 託管的後端。若不替換,你本機的應用程式仍會連線至平台,而非你自己的資料庫。遷移的核心就是「重建結構,再替換這兩個值」。
2. 如何下載應用程式程式碼?
應用程式成功生成後,編輯介面上方會出現「下載」按鈕。只需點擊此按鈕,即可下載應用程式的程式碼包。請注意,應用程式生成過程中無法下載程式碼。下載為 Pro 用戶專屬功能。

下載的程式碼版本會對應開發者目前正在編輯的特定應用程式版本。
如果在開發過程中使用編輯器進行了任何 GUI 修改(例如編輯字體、顏色等),下載程式碼前必須先預覽或發佈應用程式。這可確保下載的程式碼包包含所有 GUI 修改。

3. 解壓原始碼
解壓下載的程式碼包並進入目錄:
典型結構如下:
注意: 若
schema.sql存在,就用它(第 5 節,全量匯入)。若不存在,執行supabase db push套用遷移。
4. 準備工具
你可以使用 VSCode、IntelliJ IDEA 或任何偏好的 IDE 編輯程式碼。要運行並遷移應用程式,你需要三項工具:Node.js 20 或以上、Supabase CLI,以及 psql(Postgres 用戶端)。
在 macOS 上使用 Homebrew:
注意:
libpq是 keg-only 套件。若psql仍顯示「command not found」,用echo 'export PATH="/opt/homebrew/opt/libpq/bin:$PATH"' >> ~/.zshrc將它加入 PATH,然後重新開啟終端機。
在 Windows 上,安裝 Node.js LTS、透過 Scoop 安裝 Supabase CLI(scoop install supabase),以及 PostgreSQL(內含 psql)。下文指令完全相同;只有 export PATH=... 那行是 macOS 專用。
在 Linux 上,從發行版二進位檔安裝 Supabase CLI、透過套件管理員安裝 psql(例如 sudo apt install postgresql-client),並安裝 Node 20 或以上。
確認三者都能印出版本:
注意: 若你的應用程式為純前端、無後端,直接跳到第 9 節於本機運行。Supabase 步驟(5 至 8)只適用於有後端資料儲存的應用程式。
5. 建立你自己的 Supabase 專案
若你還沒有 Supabase 帳戶
前往 https://supabase.com,點擊 Start your project,用 GitHub 或電子郵件註冊(免費)。免費方案足以遷移一個 MeDo 應用程式。

注意: 免費方案最多同時 2 個活躍專案。若已有 2 個,須先暫停其中一個,否則無法新建。
建立專案
在組織首頁點擊 New project,填入:
- Project name,例如
taskflow-migrate - Database password:點擊 Generate a password 產生一個高強度密碼,並務必複製保存(匯入 schema 時需要;遺失只能重設)
- Region:選擇最靠近你用戶的區域

點擊 Create new project,等待一至兩分鐘完成佈建。

收集四項憑據
進入 Project Settings 並記錄以下項目,後續每一步都會用到。
注意: anon key 的設計本就公開(由 RLS 保護),可放入前端
.env。service_role / secret key 是全權限密鑰——切勿放入前端或提交至 git。
6. 匯入資料庫結構
用第 5 節的資料庫連線字串,把 schema.sql 灌入新資料庫。連線字串格式類似 postgresql://postgres:<你的DB密碼>@db.<project-ref>.supabase.co:5432/postgres。
注意: MeDo 的
schema.sql採用防禦式語法(CREATE TABLE IF NOT EXISTS、以DO $$ ... EXECUTE包裹的 storage 政策、帶ON CONFLICT DO UPDATE的 bucket),因此匯入全新專案時不會產生衝突。
若沒有 schema.sql,改用 CLI 套用遷移:
驗證匯入結果
你也可以直接在 Supabase Table Editor 看到已遷移的資料表。

7. 部署 Edge Functions 並設定密鑰
先檢查下載包是否含函式:
若沒有函式(許多應用程式純用 anon 加 RLS,無伺服器端函式),可略過本節。
若有函式,部署並重新設定其密鑰:
注意: 函式密鑰不在下載包內,須手動重新設定:第三方 API 密鑰,以及函式內引用的任何
SUPABASE_SERVICE_ROLE_KEY。
8. 遷移資料(選用)
此步驟需要來源資料庫(MeDo 託管的 Supabase)的連線字串。一般用戶通常無法直接存取來源,此時資料無法自動遷移——你只能重新運行應用程式產生資料,或請平台協助匯出。全新建立的應用程式沒有資料,可略過此步。
若你能連上來源資料庫:
驗證來源與目標核心資料表的 select count(*) 是否一致。
9. 替換 .env 並在本機運行
編輯專案根目錄的 .env,把 URL 與 anon key 換成你自己專案的值(第 5 節收集的)。變數前綴取決於框架,請對照你 .env 中既有的名稱:
編輯後,.env 大致如下:
安裝相依套件並啟動開發伺服器:
注意: 請勿使用
npm run dev。MeDo 已把package.json中的dev與build腳本替換成佔位用的echo,執行它們不會有任何作用。請改用npx vite。
開啟終端機顯示的位址(例如 http://127.0.0.1:5173/);著陸頁應正常呈現。

停用電子郵件確認
全新的 Supabase 專案預設啟用電子郵件確認,因此註冊後需要收到確認郵件才能登入。在本機測試時,先停用它:在控制台進入 Authentication → Sign In / Providers → Email,關閉 Confirm email 並儲存。
注意: 停用確認(以及下方的 admin API 捷徑)僅供本機測試。正式上線前,請重新開啟 Confirm email,讓真實用戶驗證其電子郵件。
免費方案還有電子郵件寄送速率限制。若停用確認後仍遇到 email rate limit exceeded,用 service key 透過 admin API 建立一個已預先確認的用戶:
驗證資料確實寫入你的資料庫
在應用程式中註冊或登入並建立一筆記錄,然後查詢資料庫:
登入後你會進入工作區,資料來自你自己的 Supabase。

三張資料表都回傳對應記錄,證明整條鏈路——註冊、觸發器建立 profile、業務寫入——都命中你自己的 Supabase。
10. 常見問題
11. 遷移檢查清單
- 工具就緒:
supabase、psql、node20 或以上 - 下載並解壓原始碼,確認
supabase/schema.sql存在 - 建立你自己的 Supabase 專案,保存資料庫密碼
- 收集四項憑據:URL、anon key、資料庫連線字串、service key
- 執行
psql -f supabase/schema.sql,驗證資料表、RLS 與觸發器 - 若有函式,部署並設定密鑰(否則略過)
- 若需要資料,進行遷移(僅在能連上來源資料庫時,否則略過)
- 替換
.env中的 URL 與 anon key - 停用 Confirm email
- 執行
pnpm install與npx vite,然後註冊、登入、建立資料 - 查詢資料庫,確認資料命中你自己的 Supabase