There are two ways to migrate your database with Prisma:
- Using the Prisma CLI
- Performing a manual DB migration with plain SQL
Learn more about our upcoming migration system here.
When using Prisma with a PostgreSQL database, you can perform your database migrations using the
prisma1 deploy command of the Prisma CLI.
There are two steps to every database migration:
- Adjust the datamodel file to reflect the new desired schema
prisma1 deployto apply the changes and perform the migration of the underlying database
When migrating your database manually, you need to ensure that the Prisma datamodel matches the database schema after the migration. The easiest way to do so is by using the
prisma1 introspect command to generate a datamodel file based on your migrated database schema and then use this new datamodel file as the new foundation for your Prisma project.
When adding a required field to a model for which the database already stores some records, Prisma automatically sets the value for the new field (as
NULL values are not allowed). Here is the overview of the default values that Prisma inserts for these existing records:
|Field type||Migration Value|
|Enum||The first value in the enum definition|
|required scalar list|
|required to-one relation field||no default, this will error|
You can find more info around this feature in this GitHub issue.