diff --git a/content/200-orm/200-prisma-client/100-queries/070-case-sensitivity.mdx b/content/200-orm/200-prisma-client/100-queries/070-case-sensitivity.mdx index a263861e5c..28caa6ea8e 100644 --- a/content/200-orm/200-prisma-client/100-queries/070-case-sensitivity.mdx +++ b/content/200-orm/200-prisma-client/100-queries/070-case-sensitivity.mdx @@ -170,13 +170,35 @@ The MongoDB uses a RegEx rule for case-insensitive filtering. ### SQLite provider -By default, SQLite itself only [supports case-insensitive comparisons of ASCII characters](https://www.sqlite.org/faq.html#q18). Therefore, Prisma Client does not offer support for case-insensitive filtering with SQLite. +By default, text fields created by Prisma Client in SQLite databases do not support case-insensitive filtering. In SQLite, only [case-insensitive comparisons of ASCII characters](https://www.sqlite.org/faq.html#q18) are possible. -To enable limited support (ASCII only) for case-insensitive filtering on a per-column basis, use `COLLATE NOCASE` when you define table columns: +To enable limited support (ASCII only) for case-insensitive filtering on a per-column basis, you will need to add `COLLATE NOCASE` when you define a text column. For example, if you had the following Prisma Schema model: + +```prisma +model User { + id Int @id + email String +} +``` + +and used `prisma migrate dev --create-only` to create the following migration file: + +```sql +-- CreateTable +CREATE TABLE "TestUser" ( + "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "email" TEXT NOT NULL +); +``` + +You would need to add `COLLATE NOCASE` to the `email` column in order to make case-insensitive filtering possible: ```sql -CREATE TABLE mytable ( - sample TEXT COLLATE NOCASE /* collating sequence NOCASE */ +-- CreateTable +CREATE TABLE "TestUser" ( + "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + //highlight-next-line + "email" TEXT NOT NULL COLLATE NOCASE ); ```