> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rocket.new/llms.txt
> Use this file to discover all available pages before exploring further.

# Push migration scripts

> Apply Rocket.new-generated SQL migration scripts to keep your Supabase schema in sync.

export const LlmsDirective = () => <blockquote className="llms-directive">
    For the complete documentation index, see <a href="/llms.txt">llms.txt</a>.
    For a lightweight markdown version of this page, append .md to the URL.
  </blockquote>;

<LlmsDirective />

<Info>
  Whenever your app creates or updates tables, Rocket generates a Supabase migration script. This guide covers reviewing and pushing those scripts, avoiding issues from skipped changes, and troubleshooting common errors.
</Info>

<Card icon="database" href="../supabase" horizontal arrow="true">
  Not connected yet?
  <b>Follow the steps in our Supabase Integration Guide.</b>
</Card>

## When Rocket generates a script

Whenever your app creates or updates tables, Rocket automatically generates a Supabase script. It appears in the chat window with a preview and two options: push or discard.

<Frame caption="Script popup with preview and actions">
  <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/kK5WOZR2-IAgA9O3/images/build-docs/connectors/supabase/push-migration-scripts/push-migration-light.webp?fit=max&auto=format&n=kK5WOZR2-IAgA9O3&q=85&s=b14a4683e7597cef4c93512e23e81abd" alt="Popup showing a generated Supabase script with options to preview, push, or discard." className="theme-image light-image" width="950" height="634" data-path="images/build-docs/connectors/supabase/push-migration-scripts/push-migration-light.webp" />

  <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/kK5WOZR2-IAgA9O3/images/build-docs/connectors/supabase/push-migration-scripts/push-migration-dark.webp?fit=max&auto=format&n=kK5WOZR2-IAgA9O3&q=85&s=439aa74d504a7f982b2aa698db6fa4ff" alt="Popup showing a generated Supabase script with options to preview, push, or discard." className="theme-image dark-image" width="950" height="634" data-path="images/build-docs/connectors/supabase/push-migration-scripts/push-migration-dark.webp" />
</Frame>

Each script popup includes:

* A clickable **script name** to preview the schema.
* A **Push to Supabase** button to apply the changes.
* A **Discard** button to skip the script.

<Frame caption="Migration script in the Rocket editor">
  <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/kK5WOZR2-IAgA9O3/images/build-docs/connectors/supabase/push-migration-scripts/migration-supabase-light.webp?fit=max&auto=format&n=kK5WOZR2-IAgA9O3&q=85&s=0c3926f0806270cf096f3412c07f7461" alt="Rocket editor showing a migration script with push and discard options." className="theme-image light-image" width="2880" height="1624" data-path="images/build-docs/connectors/supabase/push-migration-scripts/migration-supabase-light.webp" />

  <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/kK5WOZR2-IAgA9O3/images/build-docs/connectors/supabase/push-migration-scripts/supabase-migration-dark.webp?fit=max&auto=format&n=kK5WOZR2-IAgA9O3&q=85&s=414271007b1a932f3e5f6577b5507470" alt="Rocket editor showing a migration script with push and discard options." className="theme-image dark-image" width="2880" height="1624" data-path="images/build-docs/connectors/supabase/push-migration-scripts/supabase-migration-dark.webp" />
</Frame>

### What happens if you skip it

If you ignore the popup, the changes will not apply to Supabase.

<Warning>
  Skipping scripts can break your app. Later scripts may also fail if earlier fields or tables are missing.
</Warning>

Rocket does not automatically retry or reapply missed scripts. Push them as they appear to keep your schema in sync.

<Note>
  Each script depends on previous changes. Push them in order to avoid conflicts.
</Note>

## Troubleshooting push errors

If a script fails to push, here is how to identify and resolve common issues.

### 1. Supabase project is paused

<Info>
  <b>What you will see:</b>
  "Your Supabase project is currently paused."
</Info>

<Frame caption="Paused project error message">
  <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/kK5WOZR2-IAgA9O3/images/build-docs/connectors/supabase/push-migration-scripts/paused-project-push-light.webp?fit=max&auto=format&n=kK5WOZR2-IAgA9O3&q=85&s=d0049dd63eca279fbcb8ad993eb38ff4" alt="Error message indicating the connected Supabase project is paused." className="theme-image light-image" width="942" height="810" data-path="images/build-docs/connectors/supabase/push-migration-scripts/paused-project-push-light.webp" />

  <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/kK5WOZR2-IAgA9O3/images/build-docs/connectors/supabase/push-migration-scripts/paused-project-push-dark.webp?fit=max&auto=format&n=kK5WOZR2-IAgA9O3&q=85&s=58f5d6ff575d0ad462c420e39233eec5" alt="Error message indicating the connected Supabase project is paused." className="theme-image dark-image" width="942" height="810" data-path="images/build-docs/connectors/supabase/push-migration-scripts/paused-project-push-dark.webp" />
</Frame>

To fix this:

<Steps>
  <Step title="Open your Supabase dashboard">
    Go to [supabase.com](https://supabase.com) and open the paused project.
  </Step>

  <Step title="Restore the project">
    Click **Restore Project** to reactivate it.
  </Step>

  <Step title="Push the script again">
    Return to Rocket and push the script again.
  </Step>
</Steps>

<Frame caption="Restore button in Supabase dashboard">
  <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/2lqYWidv_xVHKfL6/images/build-docs/connectors/supabase/push-migration-scripts/supabase-restore-project-light.webp?fit=max&auto=format&n=2lqYWidv_xVHKfL6&q=85&s=12c5dea1def1e6064b7d3441c4a9cbf2" alt="Restore Project button highlighted in the Supabase dashboard." className="theme-image light-image" width="2880" height="1624" data-path="images/build-docs/connectors/supabase/push-migration-scripts/supabase-restore-project-light.webp" />

  <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/2lqYWidv_xVHKfL6/images/build-docs/connectors/supabase/push-migration-scripts/supabase-restore-project-dark.webp?fit=max&auto=format&n=2lqYWidv_xVHKfL6&q=85&s=03a00a475bc498e83502e8798bf91d67" alt="Restore Project button highlighted in the Supabase dashboard." className="theme-image dark-image" width="2880" height="1624" data-path="images/build-docs/connectors/supabase/push-migration-scripts/supabase-restore-project-dark.webp" />
</Frame>

### 2. Supabase project was deleted or disconnected

<Info>
  <b>What you will see:</b>
  "Your connected Supabase project appears to be deleted."
</Info>

<Frame caption="Deleted or disconnected project error">
  <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/2lqYWidv_xVHKfL6/images/build-docs/connectors/supabase/push-migration-scripts/supabase-project-deleted-light.webp?fit=max&auto=format&n=2lqYWidv_xVHKfL6&q=85&s=bf46aaa326ce06508f7e02f2e2e6c15a" alt="Error message indicating the Supabase project is deleted or disconnected." className="theme-image light-image" width="894" height="578" data-path="images/build-docs/connectors/supabase/push-migration-scripts/supabase-project-deleted-light.webp" />

  <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/2lqYWidv_xVHKfL6/images/build-docs/connectors/supabase/push-migration-scripts/supabase-project-deleted-dark.webp?fit=max&auto=format&n=2lqYWidv_xVHKfL6&q=85&s=d52c651d7b860daf7a696b8cad10ebba" alt="Error message indicating the Supabase project is deleted or disconnected." className="theme-image dark-image" width="894" height="578" data-path="images/build-docs/connectors/supabase/push-migration-scripts/supabase-project-deleted-dark.webp" />
</Frame>

To fix this:

<Steps>
  <Step title="Open the Supabase connector">
    In Rocket, go to **Connectors → Supabase**.
  </Step>

  <Step title="Select a valid project">
    Select a valid project from the dropdown.
  </Step>

  <Step title="Save and retry">
    Click **Save**, then try pushing the script again.
  </Step>
</Steps>

<Frame caption="Select a valid Supabase project from the Connectors panel">
  <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/kK5WOZR2-IAgA9O3/images/build-docs/connectors/supabase/push-migration-scripts/supabase-connect-project-light.webp?fit=max&auto=format&n=kK5WOZR2-IAgA9O3&q=85&s=2ade3a857e9702fca9f8e499eb9104d9" alt="Supabase Connectors panel with project dropdown to select a valid project." className="theme-image light-image" width="1830" height="876" data-path="images/build-docs/connectors/supabase/push-migration-scripts/supabase-connect-project-light.webp" />

  <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/kK5WOZR2-IAgA9O3/images/build-docs/connectors/supabase/push-migration-scripts/supabase-connect-project-dark.webp?fit=max&auto=format&n=kK5WOZR2-IAgA9O3&q=85&s=4b12f4e4e6a20956f2fa54091cc318ea" alt="Supabase Connectors panel with project dropdown to select a valid project." className="theme-image dark-image" width="1830" height="870" data-path="images/build-docs/connectors/supabase/push-migration-scripts/supabase-connect-project-dark.webp" />
</Frame>

### 3. Supabase is temporarily down

<Info>
  <b>What you will see:</b>
  "Your Supabase project is temporarily unavailable."
</Info>

<Frame caption="Temporary Supabase outage error">
  <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/kK5WOZR2-IAgA9O3/images/build-docs/connectors/supabase/push-migration-scripts/temporarily-unavailable-light.webp?fit=max&auto=format&n=kK5WOZR2-IAgA9O3&q=85&s=644caf6cd64fbc290ebf34a9b57f01b0" alt="Message showing Supabase is temporarily unavailable." className="theme-image light-image" width="936" height="810" data-path="images/build-docs/connectors/supabase/push-migration-scripts/temporarily-unavailable-light.webp" />

  <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/kK5WOZR2-IAgA9O3/images/build-docs/connectors/supabase/push-migration-scripts/temporarily-unavailable-dark.webp?fit=max&auto=format&n=kK5WOZR2-IAgA9O3&q=85&s=814758cad4dd25403761c0fc651193da" alt="Message showing Supabase is temporarily unavailable." className="theme-image dark-image" width="936" height="810" data-path="images/build-docs/connectors/supabase/push-migration-scripts/temporarily-unavailable-dark.webp" />
</Frame>

Wait a few minutes, then try pushing the script again.

### 4. The script has a schema error

<Info>
  <b>What you will see:</b>
  An error message and a **Fix it** button.
</Info>

<Frame caption="Script error with Fix it option">
  <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/2lqYWidv_xVHKfL6/images/build-docs/connectors/supabase/push-migration-scripts/supabase-error-fix-it-light.webp?fit=max&auto=format&n=2lqYWidv_xVHKfL6&q=85&s=12307d35bd772e9de779664ff4736eeb" alt="Fix it button displayed in the schema error message." className="theme-image light-image" width="904" height="542" data-path="images/build-docs/connectors/supabase/push-migration-scripts/supabase-error-fix-it-light.webp" />

  <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/2lqYWidv_xVHKfL6/images/build-docs/connectors/supabase/push-migration-scripts/supabase-error-fix-it-dark.webp?fit=max&auto=format&n=2lqYWidv_xVHKfL6&q=85&s=1365626e865ba043ee33bad70d971fa9" alt="Fix it button displayed in the schema error message." className="theme-image dark-image" width="904" height="542" data-path="images/build-docs/connectors/supabase/push-migration-scripts/supabase-error-fix-it-dark.webp" />
</Frame>

Click **Fix it**. Rocket will automatically repair the script and generate a corrected version.

<Info>
  Rocket handles most schema issues, including naming conflicts, missing dependencies, and broken triggers.
</Info>

## Manually running a script

If you discarded a script and later want to apply it, you can run it manually in Supabase.

<Steps>
  <Step title="Copy the SQL from the script popup">
    If it is still visible, click the script name to preview it, then copy the SQL.

    <Frame caption="Script preview with copy option">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/kK5WOZR2-IAgA9O3/images/build-docs/connectors/supabase/push-migration-scripts/migration-discarded-light.webp?fit=max&auto=format&n=kK5WOZR2-IAgA9O3&q=85&s=2a4feb4414d40d0035990b86125a90ff" alt="Preview popup of a discarded script with copy option." className="theme-image light-image" width="2880" height="1624" data-path="images/build-docs/connectors/supabase/push-migration-scripts/migration-discarded-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/kK5WOZR2-IAgA9O3/images/build-docs/connectors/supabase/push-migration-scripts/migration-discarded-dark.webp?fit=max&auto=format&n=kK5WOZR2-IAgA9O3&q=85&s=d2b43b474444120800b09a41bceb05bf" alt="Preview popup of a discarded script with copy option." className="theme-image dark-image" width="2880" height="1624" data-path="images/build-docs/connectors/supabase/push-migration-scripts/migration-discarded-dark.webp" />
    </Frame>

    **OR**

    In Rocket, open **Code**, then open the `supabase/migrations/` folder. Each script is saved there with a name and timestamp. Copy the SQL from the script you want.

    <Frame caption="Code tab with Supabase migration folder">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/2lqYWidv_xVHKfL6/images/build-docs/connectors/supabase/push-migration-scripts/supabase-code-view-light.webp?fit=max&auto=format&n=2lqYWidv_xVHKfL6&q=85&s=d1b0e115a08ac4ffc53b5efed8d95d9b" alt="Rocket code view showing the Supabase migrations folder." className="theme-image light-image" width="2874" height="1572" data-path="images/build-docs/connectors/supabase/push-migration-scripts/supabase-code-view-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/2lqYWidv_xVHKfL6/images/build-docs/connectors/supabase/push-migration-scripts/supabase-code-view-dark.webp?fit=max&auto=format&n=2lqYWidv_xVHKfL6&q=85&s=f00b25bf7ae8e71e18db1c258c03d3dc" alt="Rocket code view showing the Supabase migrations folder." className="theme-image dark-image" width="2874" height="1572" data-path="images/build-docs/connectors/supabase/push-migration-scripts/supabase-code-view-dark.webp" />
    </Frame>
  </Step>

  <Step title="Run the SQL in Supabase">
    Paste the SQL into the SQL editor in your Supabase dashboard and click **Run**.

    <Frame caption="SQL editor in Supabase with pasted script">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/2lqYWidv_xVHKfL6/images/build-docs/connectors/supabase/push-migration-scripts/supabase-manual-script-light.webp?fit=max&auto=format&n=2lqYWidv_xVHKfL6&q=85&s=bc0d0b23f8be775a94346091a1c7773d" alt="Supabase SQL editor showing a pasted migration script ready to run." className="theme-image light-image" width="2880" height="1624" data-path="images/build-docs/connectors/supabase/push-migration-scripts/supabase-manual-script-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/2lqYWidv_xVHKfL6/images/build-docs/connectors/supabase/push-migration-scripts/supabase-manual-script-dark.webp?fit=max&auto=format&n=2lqYWidv_xVHKfL6&q=85&s=325adf884d6a3437babd909118ec5c6f" alt="Supabase SQL editor showing a pasted migration script ready to run." className="theme-image dark-image" width="2880" height="1624" data-path="images/build-docs/connectors/supabase/push-migration-scripts/supabase-manual-script-dark.webp" />
    </Frame>
  </Step>
</Steps>

<Note>
  If you change your connected Supabase project, you must run all scripts from the `supabase/migrations/` folder in sequence to match your app's schema.
</Note>

<Card icon="code" horizontal title="Schema synced, app ready.">
  Every Rocket script keeps your app on track. Push as they appear to stay aligned and avoid surprises.
</Card>

***

## What's next?

<CardGroup cols={2}>
  <Card title="Edge Functions" icon="server" href="/build/connectors/supabase/edge-functions">
    Add backend logic deployed directly from chat.
  </Card>

  <Card title="Supabase overview" icon="database" href="/build/connectors/supabase/overview">
    See all Supabase features available in Rocket.
  </Card>
</CardGroup>
