mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 07:08:01 +00:00
Add Check If Database And Schema Are Not In Sync as a Prisma TIL
This commit is contained in:
@@ -10,7 +10,7 @@ pairing with smart people at Hashrocket.
|
||||
|
||||
For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).
|
||||
|
||||
_1429 TILs and counting..._
|
||||
_1430 TILs and counting..._
|
||||
|
||||
---
|
||||
|
||||
@@ -824,6 +824,7 @@ _1429 TILs and counting..._
|
||||
|
||||
- [Apply Separate Formatting With A Blank Line](prisma/apply-separate-formatting-with-a-blank-line.md)
|
||||
- [Batch Insert Records With createMany](prisma/batch-insert-records-with-create-many.md)
|
||||
- [Check If Database And Schema Are Not In Sync](prisma/check-if-database-and-schema-are-not-in-sync.md)
|
||||
- [Configure Client To Log SQL Queries](prisma/configure-client-to-log-sql-queries.md)
|
||||
- [Execute A Raw SQL Query](prisma/execute-a-raw-sql-query.md)
|
||||
- [Grab A Limited Set Of Records](prisma/grab-a-limited-set-of-records.md)
|
||||
|
||||
37
prisma/check-if-database-and-schema-are-not-in-sync.md
Normal file
37
prisma/check-if-database-and-schema-are-not-in-sync.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Check If Database And Schema Are Not In Sync
|
||||
|
||||
The [`prisma migrate
|
||||
diff`](https://www.prisma.io/docs/orm/reference/prisma-cli-reference#migrate-diff)
|
||||
command is a versatile tool that can be used to check if there is a difference
|
||||
between two sources. In this case, we want to check if our database is in sync
|
||||
with the `schema.prisma` file for our project.
|
||||
|
||||
If we have made changes to the schema file, but haven't yet migrated or pushed
|
||||
those changes to our local database, then we want to be notified of that
|
||||
mismatch.
|
||||
|
||||
We'll point at the schema file with `--to-schema-datamodel` and at our local
|
||||
database with `--from-url`.
|
||||
|
||||
```bash
|
||||
❯ npx prisma migrate diff \
|
||||
--to-schema-datamodel ./prisma/schema.prisma \
|
||||
--from-url mysql://root@localhost:3309/kcd-products
|
||||
|
||||
[*] Changed the `User` table
|
||||
[+] Added column `metadata`
|
||||
```
|
||||
|
||||
In the case where there is a different, we see an output summary of the diff.
|
||||
|
||||
Let's say we've applied our changes (`prisma db push`) to our local database.
|
||||
If we now run that same command again, we can see that no difference is
|
||||
detected and our database is in sync with our schema.
|
||||
|
||||
```bash
|
||||
❯ npx prisma migrate diff \
|
||||
--to-schema-datamodel ./prisma/schema.prisma \
|
||||
--from-url mysql://root@localhost:3309/kcd-products
|
||||
|
||||
No difference detected.
|
||||
```
|
||||
Reference in New Issue
Block a user