Remove the friction to create migrations for your Platformatic DB by generating them using a Prisma schema.
- Use Prisma schema to manage your data models
- Generate Platformatic DB compatible up and down migrations when changes are made to your Prisma schema
- Migrations will be run by Platformatic DB
View the example project to see it in action.
Install platformatic-prisma
and prisma
:
npm install prisma platformatic-prisma -D
Create a ./prisma/schema.prisma
file with the following contents:
datasource db {
// Any provider supported by Platformatic
// https://oss.platformatic.dev/docs/reference/db/introduction#supported-databases
provider = "postgresql"
url = env("DATABASE_URL")
}
// Table used by Platformatic/Postgrator to manage migrations
model Version {
version BigInt @id
name String?
md5 String?
run_at DateTime? @db.Timestamptz(6)
@@map("versions")
@@ignore
}
Create an .env
file containing the database connection URL to connect to your database:
DATABASE_URL="postgresql://postgres:@localhost:5432/platformatic-prisma?schema=public"
Note If you are just starting with a new Platformatic DB project, run
npx platformatic db migrate
before generating your first migration. This is needed to allow Platformatic DB to initialize the database with it's migrations table.
When changes are made to your schema.prisma
file, run npx platformatic-prisma
to generate migrations. This will generate up and down migration files in the migrations directory that is specified in your Platformatic configuration file.
To run migrations, refer to Platformatic's documentation.
Option | Required | Description | Default |
---|---|---|---|
--description |
No | Label to include in migration filename. Must not contain periods. | |
--no-down |
No | Prevents generation of the down migration file. | false |
--no-up |
No | Prevents generation of the up migration file. | false |
--schema |
No | Specifies the path to the schema.prisma file. |
prisma/schema.prisma |