Skip to main content

yarn db:greenfield

yarn db:greenfield executes saasframe db greenfield --yes. It is designed for development only when you want to rebuild the schema from scratch.

Usage

# Using yarn script
yarn db:greenfield

# Using CLI directly (requires --yes flag for confirmation)
yarn saasframe db greenfield --yes

What the Command Does

  1. Cleans every module's migrations/ directory by deleting generated migration .ts files and snapshot JSON files.
  2. Removes checksum files under the repository's /generated folder.
  3. Drops per-module MikroORM migration tables (mikro_orm_migrations_<module>).
  4. Drops all tables in the public schema of the database referenced by DATABASE_URL.
  5. Regenerates fresh migrations for every enabled module by internally calling saasframe db generate.
  6. Applies the newly generated migrations immediately via saasframe db migrate.

Safety Considerations

  • The command irreversibly wipes the target database. Never run it against production or staging environments.
  • Ensure DATABASE_URL points to a disposable database before executing.
  • Because it removes migration files, you may want to stash or commit any pending migration work beforehand.

Suggested Workflow

  1. Stop any dev servers using the database.
  2. Run yarn db:greenfield.
  3. Optionally execute yarn initialize to reseed data and example content.

Troubleshooting

  • Permission errors when dropping tables — verify the database user has privileges to drop tables and alter replication roles.
  • Migrations fail after regeneration — inspect generated migration files and adjust entity definitions accordingly, then re-run yarn db:greenfield or yarn db:migrate.