アプリのダウンロードとビルド
MeDo のプロジェクトコード書き出し機能では、アプリのソースコードをダウンロードし、ローカルで実行し、バックエンドがあれば自分の Supabase プロジェクトへ移行できます。ダウンロードごとに 300 Credits を消費します。
注記: アプリが純フロントエンド(バックエンドデータなし)の場合は、第 1〜4 節だけを行い、第 9 節でローカル実行します。バックエンドのデータ保存を使う場合は、完全なフローに従って自分の Supabase 上に構造を再構築してください。
1. ダウンロードに含まれるもの・含まれないもの
コードのダウンロードで取得する ZIP には、バックエンドの構造と関数コードが含まれますが、データ・ファイル・キーは含まれません。これにより、移行で何を扱う必要があるかが決まります。
注記:
.env内の URL と anon key は MeDo のホスト型バックエンドを指しています。置き換えなければ、ローカルのアプリはプラットフォームに接続し続け、自分のデータベースには接続しません。移行の核心は「構造を再構築し、この 2 つの値を差し替える」ことです。
2. アプリコードをダウンロードするには?
アプリが正常に生成されると、編集画面の上部に「ダウンロード」ボタンが表示されます。このボタンをクリックするだけで、アプリのコードパッケージをダウンロードできます。アプリ生成中はコードをダウンロードできない点に注意してください。ダウンロードは Pro 限定機能です。

ダウンロードされるコードのバージョンは、開発者が現在編集中の特定のアプリバージョンに対応します。
開発中にエディターで GUI 変更(フォントや色の編集など)を行った場合は、コードをダウンロードする前に、まずアプリをプレビューするか公開してください。これにより、ダウンロードしたコードパッケージにすべての GUI 変更が含まれます。

3. ソースの解凍
ダウンロードしたパッケージを解凍してディレクトリに入ります:
典型的な構造は次のとおりです:
注記:
schema.sqlがあればそれを使います(第 5 節、全量インポート)。なければsupabase db pushでマイグレーションを適用します。
4. ツールの準備
コードの編集には VSCode、IntelliJ IDEA、または好みの IDE を使えます。アプリを実行・移行するには、Node.js 20 以降、Supabase CLI、psql(Postgres クライアント)の 3 つのツールが必要です。
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 以降をインストールします。
3 つともバージョンが表示されることを確認します:
注記: アプリが純フロントエンドでバックエンドがない場合は、第 9 節へ進んでローカル実行してください。Supabase の手順(5〜8)はバックエンドのデータ保存を使うアプリにのみ該当します。
5. 自分の Supabase プロジェクトを作成する
まだ Supabase アカウントがない場合
https://supabase.com にアクセスし、Start your project をクリックして、GitHub またはメールで登録します(無料)。無料プランで MeDo アプリを 1 つ移行するには十分です。

注記: 無料プランでは同時に最大 2 つのアクティブプロジェクトまでです。すでに 2 つある場合は、先に 1 つを一時停止しないと新規作成できません。
プロジェクトを作成する
組織ホームで New project をクリックし、次を入力します:
- Project name、例:
taskflow-migrate - Database password:Generate a password をクリックして強力なものを生成し、必ずコピーして保存します(schema のインポートに必要。紛失するとリセットしかできません)
- Region:ユーザーに最も近いものを選びます

Create new project をクリックし、プロビジョニング完了まで 1〜2 分待ちます。

4 つの認証情報を収集する
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付きのバケット)を使うため、まっさらなプロジェクトへのインポートでも競合なく実行できます。
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 で事前確認済みのユーザーを作成します:
データが自分のデータベースに入ることを検証する
アプリで登録またはログインしてレコードを 1 件作成し、データベースを照会します:
ログイン後にワークスペースに到達し、データは自分の Supabase から来ます。

3 つのテーブルすべてが対応するレコードを返し、チェーン全体——登録、トリガーによる profile 作成、業務書き込み——が自分の Supabase に到達することを証明します。
10. よくある落とし穴
11. 移行チェックリスト
- ツール準備:
supabase、psql、node20 以降 - ソースをダウンロードして解凍し、
supabase/schema.sqlがあることを確認 - 自分の Supabase プロジェクトを作成し、データベースパスワードを保存
- 4 つの認証情報を収集:URL、anon key、データベース接続文字列、service key
psql -f supabase/schema.sqlを実行し、テーブル・RLS・トリガーを検証- 関数があればデプロイしてシークレットを設定(なければ飛ばす)
- データが必要なら移行する(ソース DB に接続できる場合のみ、なければ飛ばす)
.envの URL と anon key を差し替える- Confirm email を無効にする
pnpm installとnpx viteを実行し、登録・ログイン・データ作成を行う- データベースを照会し、データが自分の Supabase に入ることを確認する