On this page

When to use MySQL

Use managed MySQL when the application already expects MySQL semantics:

  • Laravel, WordPress, or MySQL-first frameworks
  • Existing customer schemas that should not be converted to Postgres
  • SQL workloads that rely on MySQL-specific behavior
  • SaaS templates that ship with MySQL migrations

Use Postgres when you need richer relational features, extensions, or Postgres-native tooling.

Runtime contract

Applications do not need to know where the database runs. Read the injected connection string at boot:

DATABASE_URL=mysql://user:password@host:3306/database

MIOSA injects the same variable into:

  • sandboxes for development and agent work
  • runtime instances for production deployments
  • background workers that belong to the project

Provisioning pattern

const project = await miosa.projects.create({
  name: "Customer Portal",
  data: { mysql: true },
});

For app builders and white-label platforms, create MySQL per customer project when the generated app requires it. Keep schema migrations in the application repo or sandbox workspace so deployments remain repeatable.

See also

Was this helpful?