Flisk vs Prisma, Drizzle, Atlas and dbmate

These define and run migrations. Flisk runs them in a migrator resource before the API starts.

Task Flisk Local dev stack Prisma Schema and migrations (v8 RC) Drizzle TypeScript ORM Atlas Schema as code dbmate SQL migrations
Add an ORM to a service
flisk resource api --type backend --feature prisma
flisk resource api --type backend --feature drizzle

Prisma also adds a migrator resource

prisma orm init

In Prisma 7: prisma init

No equivalent

Install drizzle-orm and drizzle-kit, then add drizzle.config.ts

Not needed

Atlas is not an ORM, so there is nothing to add

Not needed

dbmate is not an ORM, so there is nothing to add

Create a migration from schema changes
No equivalent

Flisk runs migrations, it does not write them

prisma contract emit
prisma migration plan

In Prisma 7: prisma migrate dev, which also applies it

atlas migrate diff

Needs --to and --dev-url, or --env

Different job, closest command.
dbmate new

Creates an empty file; you write the SQL

Apply migrations
flisk up

The migrator runs before the API starts

prisma db migrate

In Prisma 7: prisma migrate deploy

dbmate up

Also creates the database if it is missing

See migration status
Different job, closest command.
flisk status

Shows the migrator resource, not each migration

prisma migration status

In Prisma 7: prisma migrate status

Reset the database
No equivalent

Not in Prisma 8. In Prisma 7: prisma migrate reset

atlas schema clean

Removes every object; run migrate apply to rebuild

dbmate drop
dbmate up

No reset command: drop the database, then recreate it

Browse the data
No equivalent

Not in Prisma 8. In Prisma 7: prisma studio

Read the schema from a database
prisma contract infer

In Prisma 7: prisma db pull

dbmate dump

Writes the schema to db/schema.sql

Check migrations
prisma migration check

Detects hand-edited or deleted migration files

drizzle-kit check

Checks generated migrations for collisions

atlas migrate lint
atlas migrate validate

lint analyzes changes; validate checks checksum and SQL

Seed data
No equivalent

Not in Prisma 8. In Prisma 7: prisma db seed

No equivalent

drizzle-seed is a library; call seed() from code