# Deploying an app that's already live

Source: /docs/concepts/database-migrations

Before an app's first readiness check and deploy, the platform asks one question: &#x2A;*is this app already running somewhere, with real users or data?** This page explains why, and what each answer means.

## The question [#the-question]

> Is this app already running somewhere, with real users or data?
>
> * **No, it's new**
> * **Yes, it's already live**

You answer it per app. Each app gets its own question — an answer never carries over from another app, even one created from the same repository or a different branch of it.

## If it's new [#if-its-new]

Answer **No, it's new**. Nothing special happens; continue to the readiness scan and deploy.

## If it's already live [#if-its-already-live]

Read this before continuing. Preparing an app for this platform **restructures its code**, and:

* The platform **does not move your existing data**, and cannot support migrating an app that is already in production.
* The deploy-prep changes can break deployments on other providers you already run.
* You continue **at your own risk**.

Back up your code and your data first, and ask your coding agent to work on a **new branch** so you can roll back. Only then confirm with **I understand, continue**.

## Through a coding agent [#through-a-coding-agent]

An agent connected over [MCP](/docs/mcp/overview) records your answer with `acknowledge_migration_risk`, and both `check_deploy_readiness` and `deploy_app` refuse to run until it is recorded. The agent must ask **you** about the specific app — it will not answer on your behalf, and for a live app it relays the warning above and waits for your explicit consent before recording it.

## Why the gate exists [#why-the-gate-exists]

The prompt that prepares your app changes its structure. For a throwaway or brand-new app that is fine. For an app with real users and data it is a decision only you can make, with backups in hand. The gate makes sure that decision is taken on purpose, once, per app.