Databases

Postgres is the platform database. Here is what happens when your AI wrote something else.

Every app that needs a database gets its own Postgres database, reachable only from the app, backed up daily on paid plans, and snapshotted before every schema change.

If your AI used Postgres

Nothing to do. Drizzle, Prisma, Kysely, TypeORM, Sequelize, Knex or the plain pg driver all work. The app receives DATABASE_URL and its migration command runs as part of the deploy.

If your AI used MySQL or MongoDB

The deploy stops with ENGINE_CONVERSION_REQUIRED and a fix written for the ORM in use, for example:

In prisma/schema.prisma change the datasource provider to "postgresql", replace MongoDB-specific attributes with relational equivalents, run prisma migrate dev --name init, then re-run deploy.

Your AI does this in a minute or two. It is a mechanical change and the kind of thing it does all day. You will not notice.

Why not just host MySQL and MongoDB? Because doing it well for one app costs more than the whole Personal plan, and the price you pay is only possible because every app speaks the same database.

If your AI used SQLite

That works as-is. The app runs on a tier that keeps its file between requests and checkpoints it safely. It is a good fit for a game for six friends or a personal tool.

Backups and restore

Personal and above: a snapshot every day, plus one before every migration. Restore from the app's Settings tab or when going back to a version. Restores never happen in place.