v-ut-d / vutd-shovel

shovel clone for vutd
GNU General Public License v2.0
3 stars 0 forks source link

Bump @prisma/client from 3.11.0 to 3.11.1 #140

Closed dependabot[bot] closed 2 years ago

dependabot[bot] commented 2 years ago

Bumps @prisma/client from 3.11.0 to 3.11.1.

Release notes

Sourced from @​prisma/client's releases.

3.11.1

Today, we are issuing the 3.11.1 patch release.

MongoDB (Preview)

Breaking: Filters no longer return undefined fields by default

In 3.11.1, we've changed what data is returned when filtering MongoDB documents on undefined fields. The new rule is that undefined fields are excluded by default unless explicitly filtered for. This allows you to query for undefined and null values separately.

Let's take a look at a concrete example. Given the following Prisma schema:

model Address {
    id     Int    @id @map("_id")
    city   String
    street String? // Note that street is optional
}

For Mongo, optional fields can either be null or undefined (absent). The following documents are all valid for the schema above:

{ "_id": 1, "city": "San Fransisco", "street": "Market st." }
{ "_id": 2, "city": "Seattle", "street": null }
{ "_id": 3, "city": "Chicago" }

Prior to 3.11.1, if you queried for where: { street: null }, you'd get _id: 2 and _id: 3. In 3.11.1, you'll only get _id: 2. The ability to also query for the missing fields has also been added. For details, refer to the new isSet below to learn more.

There are a few exceptions to this new default:

  • A having filter on an aggregated field will return undefined fields. This is because aggregation on undefined fields yields null, not undefined, thus matching the filter.
  • Filters on undefined to-many relations (e.g., the backing array of a many-to-many is undefined) will currently include those relations in the result set.

New isSet filter operation

To compensate for missing fields on documents no longer being returned by the filters above, we’ve added a new isSet: bool filter. This filter can be used to include fields that are undefined on documents.

Using the example above, to include the undefined fields, you can use an OR:

await prisma.address.findMany({
  where: {
    OR: [
      { street: { isSet: false } },
      { street: null }
    ]
  }
})

... (truncated)

Commits
  • 1015306 test(client): update snap
  • 367aaed chore: bump engines
  • 52f6ed3 test(client): filter isSet
  • 120fad8 test(client): updateMany/deleteMany composite
  • eebf5aa test(client): update snaps
  • 6fda525 Update packages/client/src/generation/generateClient.ts
  • 004e940 chore(client): add debug
  • a871310 docs(client): add comment for investigation
  • 2c033f9 fix(client): fix syntax error and simplify
  • cf3905f fix(client): do not get dirname on empty path
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)