1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-19 15:08:02 +00:00

Compare commits

...

3 Commits

Author SHA1 Message Date
nick-w-nick
24f7083cfe Merge 295fe153ad into 6fb3b95ade 2024-05-16 10:25:39 -04:00
jbranchaud
6fb3b95ade Add Check If Database And Schema Are Not In Sync as a Prisma TIL 2024-05-15 12:21:38 -05:00
nick-w-nick
295fe153ad added mention of ES6 compatibility
Hello, I've added a small blockquote below the description to indicate that this method of accessing an indefinite number of function arguments has been superseded by the use of the spread operator via rest parameters for ES6+ compatibility.
2022-01-06 11:39:04 -05:00
3 changed files with 41 additions and 1 deletions

View File

@@ -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)

View File

@@ -5,6 +5,8 @@ an array-like object with all of the arguments to the function. Even if not
all of the arguments are referenced in the function signature, they can
still be accessed via the `arguments` object.
> For ES6+ compatibility, the `spread` operator used via [rest parameters](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters) is preferred over the `arugments` object when accessing an abritrary number of function arguments.
```javascript
function argTest(one) {
console.log(one);

View 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.
```