// DATABASES
Run Database Migrations
There's no built-in migration runner — how to run migrations safely against a live deploy.
There's no built-in migration runner in AnySites — no dashboard console, no deploy.sh-style migration step for customer databases. Migrations are entirely your application's responsibility, the same as with any managed Postgres provider.
Practical approach
- Use your framework's migration tool (Prisma Migrate, Drizzle Kit, Alembic, golang-migrate, ...) against
DATABASE_URLdirectly. - Run migrations as an explicit step before your app starts serving traffic — either as part of your container's start command/entrypoint, or as a one-off script you run from your own machine or CI using the same
DATABASE_URL. - Keep migrations idempotent (
IF NOT EXISTSstyle) where your tool supports it, so a re-run after a partial failure doesn't error out.
Migration tools often open a large connection pool by default. Against the platform's low per-database
CONNECTION LIMIT, that can exhaust the limit on its own and fail with too many connections — cap the tool's pool size explicitly.