Repository: Brendonovich/prisma-client-rust (language: rust)

Issue:
Scalar Lists missing read filters
Initially reported by @Alivers.
Should be fixed on `1f6474396363bab8c4cdd70c342055779b36909d`.


Discussion / hints:

Fix patch:
diff --git a/Cargo.lock b/Cargo.lock
index 399df053..f546bb35 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -784,7 +784,7 @@ dependencies = [
 [[package]]
 name = "builtin-psl-connectors"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "connection-string",
  "either",
@@ -1220,7 +1220,7 @@ checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb"
 [[package]]
 name = "datamodel-renderer"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "base64 0.13.1",
  "once_cell",
@@ -1288,7 +1288,7 @@ dependencies = [
 [[package]]
 name = "diagnostics"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "colored",
  "indoc",
@@ -1338,7 +1338,7 @@ dependencies = [
 [[package]]
 name = "dml"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "chrono",
  "cuid",
@@ -1356,7 +1356,7 @@ dependencies = [
 [[package]]
 name = "dmmf"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "bigdecimal",
  "indexmap",
@@ -2181,7 +2181,7 @@ dependencies = [
 [[package]]
 name = "introspection-connector"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -2247,7 +2247,7 @@ dependencies = [
 [[package]]
 name = "json-rpc-api-build"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "backtrace",
  "heck 0.3.3",
@@ -2659,7 +2659,7 @@ dependencies = [
 [[package]]
 name = "migration-connector"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "chrono",
  "enumflags2",
@@ -2674,7 +2674,7 @@ dependencies = [
 [[package]]
 name = "migration-core"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "async-trait",
  "chrono",
@@ -2795,7 +2795,7 @@ dependencies = [
 [[package]]
 name = "mongodb-client"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "mongodb",
  "once_cell",
@@ -2806,7 +2806,7 @@ dependencies = [
 [[package]]
 name = "mongodb-introspection-connector"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "async-trait",
  "convert_case 0.5.0",
@@ -2829,7 +2829,7 @@ dependencies = [
 [[package]]
 name = "mongodb-migration-connector"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "enumflags2",
  "futures",
@@ -2847,7 +2847,7 @@ dependencies = [
 [[package]]
 name = "mongodb-query-connector"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -2880,7 +2880,7 @@ dependencies = [
 [[package]]
 name = "mongodb-schema-describer"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "futures",
  "mongodb",
@@ -2910,7 +2910,7 @@ dependencies = [
 [[package]]
 name = "mysql_async"
 version = "0.30.0"
-source = "git+https://github.com/prisma/mysql_async?branch=vendored-openssl#e3f8bdb41d57e769412f53d0f479bf67fdcc0ee3"
+source = "git+https://github.com/prisma/mysql_async?rev=e3f8bdb41d57e769412f53d0f479bf67fdcc0ee3#e3f8bdb41d57e769412f53d0f479bf67fdcc0ee3"
 dependencies = [
  "bytes",
  "crossbeam",
@@ -3254,7 +3254,7 @@ dependencies = [
 [[package]]
 name = "parser-database"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "diagnostics",
  "either",
@@ -3581,7 +3581,7 @@ dependencies = [
 [[package]]
 name = "prisma-models"
 version = "0.0.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "bigdecimal",
  "chrono",
@@ -3597,7 +3597,7 @@ dependencies = [
 [[package]]
 name = "prisma-value"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "base64 0.12.3",
  "bigdecimal",
@@ -3660,7 +3660,7 @@ dependencies = [
 [[package]]
 name = "psl"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "builtin-psl-connectors",
  "dml",
@@ -3670,7 +3670,7 @@ dependencies = [
 [[package]]
 name = "psl-core"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "bigdecimal",
  "chrono",
@@ -3712,7 +3712,7 @@ dependencies = [
 [[package]]
 name = "quaint"
 version = "0.2.0-alpha.13"
-source = "git+https://github.com/prisma/quaint?rev=6df49f14efe99696e577ffb9902c83b09bec8de2#6df49f14efe99696e577ffb9902c83b09bec8de2"
+source = "git+https://github.com/Brendonovich/quaint?branch=pcr-0.6.5#5b0c5785f8798a777944b6979b19ebf9f3019b7c"
 dependencies = [
  "async-trait",
  "base64 0.12.3",
@@ -3768,7 +3768,7 @@ dependencies = [
 [[package]]
 name = "query-connector"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -3788,7 +3788,7 @@ dependencies = [
 [[package]]
 name = "query-core"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "async-trait",
  "base64 0.12.3",
@@ -3834,7 +3834,7 @@ dependencies = [
 [[package]]
 name = "query-engine-metrics"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "metrics 0.18.1",
  "metrics-exporter-prometheus",
@@ -4083,7 +4083,7 @@ dependencies = [
 [[package]]
 name = "request-handlers"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "bigdecimal",
  "connection-string",
@@ -4432,7 +4432,7 @@ dependencies = [
 [[package]]
 name = "schema"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "once_cell",
  "prisma-models",
@@ -4442,7 +4442,7 @@ dependencies = [
 [[package]]
 name = "schema-ast"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "diagnostics",
  "pest",
@@ -4452,7 +4452,7 @@ dependencies = [
 [[package]]
 name = "schema-builder"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "itertools",
  "lazy_static",
@@ -4852,12 +4852,12 @@ checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09"
 [[package]]
 name = "sql-ddl"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 
 [[package]]
 name = "sql-introspection-connector"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -4881,7 +4881,7 @@ dependencies = [
 [[package]]
 name = "sql-migration-connector"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "chrono",
  "connection-string",
@@ -4908,7 +4908,7 @@ dependencies = [
 [[package]]
 name = "sql-query-connector"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -4939,7 +4939,7 @@ dependencies = [
 [[package]]
 name = "sql-schema-describer"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "async-trait",
  "bigdecimal",
@@ -5696,7 +5696,7 @@ dependencies = [
 [[package]]
 name = "user-facing-error-macros"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -5706,7 +5706,7 @@ dependencies = [
 [[package]]
 name = "user-facing-errors"
 version = "0.1.0"
-source = "git+https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339fc5b8bbc77e028eeae2038cf2ade2e6be"
+source = "git+https://github.com/Brendonovich/prisma-engines?rev=fc595772f32ec7c1896da5545b8b87afbbdb7fc3#fc595772f32ec7c1896da5545b8b87afbbdb7fc3"
 dependencies = [
  "backtrace",
  "indoc",
diff --git a/Cargo.toml b/Cargo.toml
index 536d3a82..692d190e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "prisma-client-rust"
-version = "0.6.4"
+version = "0.6.5"
 authors = ["Brendan Allan <brendonovich@outlook.com>"]
 edition = "2021"
 description = "A prisma client for Rust"
@@ -33,9 +33,25 @@ mssql = ["query-core/mssql", "migration-core/mssql"]
 postgresql = ["query-core/postgresql", "migration-core/postgresql"]
 mongodb = ["query-core/mongodb", "migration-core/mongodb"]
 
-[dependencies]
+[workspace.dependencies]
+diagnostics = { git = "https://github.com/Brendonovich/prisma-engines", rev = "fc595772f32ec7c1896da5545b8b87afbbdb7fc3" }
+dml = { git = "https://github.com/Brendonovich/prisma-engines", rev = "fc595772f32ec7c1896da5545b8b87afbbdb7fc3" }
+dmmf = { git = "https://github.com/Brendonovich/prisma-engines", rev = "fc595772f32ec7c1896da5545b8b87afbbdb7fc3" }
+migration-core = { git = "https://github.com/Brendonovich/prisma-engines", rev = "fc595772f32ec7c1896da5545b8b87afbbdb7fc3" }
+prisma-models = { git = "https://github.com/Brendonovich/prisma-engines", rev = "fc595772f32ec7c1896da5545b8b87afbbdb7fc3" }
+psl = { git = "https://github.com/Brendonovich/prisma-engines", rev = "fc595772f32ec7c1896da5545b8b87afbbdb7fc3" }
+query-connector = { git = "https://github.com/Brendonovich/prisma-engines", rev = "fc595772f32ec7c1896da5545b8b87afbbdb7fc3" }
+query-core = { git = "https://github.com/Brendonovich/prisma-engines", rev = "fc595772f32ec7c1896da5545b8b87afbbdb7fc3" }
+request-handlers = { git = "https://github.com/Brendonovich/prisma-engines", rev = "fc595772f32ec7c1896da5545b8b87afbbdb7fc3" }
+schema = { git = "https://github.com/Brendonovich/prisma-engines", rev = "fc595772f32ec7c1896da5545b8b87afbbdb7fc3" }
+user-facing-errors = { git = "https://github.com/Brendonovich/prisma-engines", rev = "fc595772f32ec7c1896da5545b8b87afbbdb7fc3" }
+
 serde = { version = "1.0", features = ["derive"] }
 serde_json = "1.0"
+
+[dependencies]
+serde.workspace = true
+serde_json.workspace = true
 chrono = { version = "0.4.19", features = ["serde"] }
 thiserror = "1.0.30"
 bigdecimal = { version = "0.3", features = ["serde"] }
@@ -47,18 +63,18 @@ tokio = { version = "1.21.0", optional = true }
 futures = "0.3"
 paste = "1.0.11"
 
-query-core = { git = "https://github.com/Brendonovich/prisma-engines", rev = "6bad339fc5b8bbc77e028eeae2038cf2ade2e6be" }
-query-connector = { git = "https://github.com/Brendonovich/prisma-engines", rev = "6bad339fc5b8bbc77e028eeae2038cf2ade2e6be" }
-prisma-models = { git = "https://github.com/Brendonovich/prisma-engines", rev = "6bad339fc5b8bbc77e028eeae2038cf2ade2e6be" }
-dml = { git = "https://github.com/Brendonovich/prisma-engines", rev = "6bad339fc5b8bbc77e028eeae2038cf2ade2e6be" }
-user-facing-errors = { git = "https://github.com/Brendonovich/prisma-engines", rev = "6bad339fc5b8bbc77e028eeae2038cf2ade2e6be" }
-dmmf = { git = "https://github.com/Brendonovich/prisma-engines", rev = "6bad339fc5b8bbc77e028eeae2038cf2ade2e6be" }
-schema = { git = "https://github.com/Brendonovich/prisma-engines", rev = "6bad339fc5b8bbc77e028eeae2038cf2ade2e6be" }
-psl = { git = "https://github.com/Brendonovich/prisma-engines", rev = "6bad339fc5b8bbc77e028eeae2038cf2ade2e6be" }
-diagnostics = { git = "https://github.com/Brendonovich/prisma-engines", rev = "6bad339fc5b8bbc77e028eeae2038cf2ade2e6be" }
+query-core.workspace = true
+query-connector.workspace = true
+prisma-models.workspace = true
+dml.workspace = true
+user-facing-errors.workspace = true
+dmmf.workspace = true
+schema.workspace = true
+psl.workspace = true
+diagnostics.workspace = true
 
 # features = "migrations"
-migration-core = { git = "https://github.com/Brendonovich/prisma-engines", rev = "6bad339fc5b8bbc77e028eeae2038cf2ade2e6be", optional = true }
+migration-core = { workspace = true, optional = true }
 include_dir = { version = "0.7.2", optional = true }
 tempdir = { version = "0.3.7", optional = true }
 tracing = { version = "0.1.36", optional = true }
diff --git a/README.md b/README.md
index 57fed285..72dabdfa 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
 <div align="center">
     <h1>Prisma Client Rust</h1>
     <p><b>Type-safe database access for Rust</b></p>
-    <img src="https://img.shields.io/badge/latest-0.6.4-blue?style=flat-square" alt="Latest version of Prisma Client Rust is 0.6.4">
+    <img src="https://img.shields.io/badge/latest-0.6.5-blue?style=flat-square" alt="Latest version of Prisma Client Rust is 0.6.5">
     <a href="https://prisma.io">
         <img src="https://img.shields.io/static/v1?label=prisma&message=v4.8.0&color=blue&logo=prisma&style=flat-square" alt="Latest supported Prisma version is 4.8.0">
     </a>
diff --git a/cli/Cargo.toml b/cli/Cargo.toml
index 2db34bf9..c07c7d78 100644
--- a/cli/Cargo.toml
+++ b/cli/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "prisma-client-rust-cli"
-version = "0.6.4"
+version = "0.6.5"
 authors = ["Brendan Allan <brendonovich@outlook.com>"]
 edition = "2021"
 rust-version = "1.62"
@@ -20,11 +20,11 @@ postgresql = ["prisma-client-rust-sdk/postgresql"]
 mongodb = ["prisma-client-rust-sdk/mongodb"]
 
 [dependencies]
+serde_json.workspace = true
+serde.workspace = true
 serde_path_to_error = "0.1.7"
 quote = "1.0.18"
 syn = "1.0.91"
-serde_json = "1.0.79"
-serde = { version = "1.0.136", features = ["derive"] }
 proc-macro2 = "1.0.39"
 http = "0.2.6"
 directories = "4.0.1"
@@ -34,4 +34,3 @@ regex = "1.5.5"
 thiserror = "1.0.37"
 
 prisma-client-rust-sdk = { path = "../sdk", default_features = false }
-
diff --git a/cli/src/generator/client.rs b/cli/src/generator/client.rs
index ad11c897..a3e40b5e 100644
--- a/cli/src/generator/client.rs
+++ b/cli/src/generator/client.rs
@@ -1,6 +1,6 @@
-use prisma_client_rust_sdk::{Case, Casing, GenerateArgs};
+use prisma_client_rust_sdk::{prelude::*, GenerateArgs};
 use proc_macro2::TokenStream;
-use quote::{format_ident, quote};
+use quote::quote;
 
 pub fn generate(args: &GenerateArgs) -> TokenStream {
     let model_actions = args
@@ -8,7 +8,7 @@ pub fn generate(args: &GenerateArgs) -> TokenStream {
         .models
         .iter()
         .map(|model| {
-            let model_name_snake = format_ident!("{}", model.name.to_case(Case::Snake));
+            let model_name_snake = snake_ident(&model.name);
 
             quote! {
                 pub fn #model_name_snake(&self) -> super::#model_name_snake::Actions {
diff --git a/cli/src/generator/enums.rs b/cli/src/generator/enums.rs
index 9e088bb5..8235fb2d 100644
--- a/cli/src/generator/enums.rs
+++ b/cli/src/generator/enums.rs
@@ -1,17 +1,17 @@
-use prisma_client_rust_sdk::{Case, Casing, GenerateArgs};
+use prisma_client_rust_sdk::{GenerateArgs, prelude::pascal_ident};
 use proc_macro2::TokenStream;
-use quote::{format_ident, quote};
+use quote::quote;
 
 pub fn generate(args: &GenerateArgs) -> TokenStream {
     let enums = args.dml.enums.iter().map(|e| {
-        let name = format_ident!("{}", e.name.to_case(Case::Pascal));
+        let name = pascal_ident(&e.name);
 
         let variants = e
             .values
             .iter()
             .map(|v| {
                 let name = &v.name;
-                let variant_name = format_ident!("{}", v.name.to_case(Case::Pascal));
+                let variant_name = pascal_ident(&v.name);
 
                 quote! {
                     #[serde(rename=#name)]
@@ -25,7 +25,7 @@ pub fn generate(args: &GenerateArgs) -> TokenStream {
             .iter()
             .map(|v| {
                 let name = &v.name;
-                let variant_name = format_ident!("{}", v.name.to_case(Case::Pascal));
+                let variant_name = pascal_ident(&v.name);
 
                 quote!(Self::#variant_name => #name.to_string())
             })
diff --git a/cli/src/generator/models/data.rs b/cli/src/generator/models/data.rs
index e9e7c5b5..0cb0f7de 100644
--- a/cli/src/generator/models/data.rs
+++ b/cli/src/generator/models/data.rs
@@ -152,7 +152,7 @@ pub fn struct_definition(model: &dml::Model) -> TokenStream {
     });
 
     let specta_derive = cfg!(feature = "rspc").then(|| {
-        let model_name_pascal_str = model.name.to_case(Case::Pascal);
+        let model_name_pascal_str = pascal_ident(&model.name).to_string();
 
         quote! {
             #[derive(::prisma_client_rust::rspc::Type)]
diff --git a/cli/src/generator/models/field.rs b/cli/src/generator/models/field.rs
index 5f9dae36..a9ab5b20 100644
--- a/cli/src/generator/models/field.rs
+++ b/cli/src/generator/models/field.rs
@@ -11,8 +11,8 @@ pub fn module(
     let mut where_param_entries = vec![];
 
     let field_name = root_field.name();
-    let field_name_pascal = format_ident!("{}", field_name.to_case(Case::Pascal));
-    let field_name_snake = format_ident!("{}", field_name.to_case(Case::Snake));
+    let field_name_pascal = pascal_ident(field_name);
+    let field_name_snake = snake_ident(field_name);
     let field_type = root_field.type_tokens(quote!());
 
     let connect_variant = format_ident!("Connect{}", field_name_pascal);
@@ -132,9 +132,9 @@ pub fn module(
             };
 
             let relation_methods = root_field.relation_methods().iter().map(|method| {
-                let method_action_string = method.to_case(Case::Camel);
-                let variant_name = format_ident!("{}{}", &field_name_pascal, method.to_case(Case::Pascal));
-                let method_name_snake = format_ident!("{}", method.to_case(Case::Snake));
+                let method_action_string = method.to_case(Case::Camel, false);
+                let variant_name = format_ident!("{}{}", &field_name_pascal, pascal_ident(method));
+                let method_name_snake = snake_ident(method);
 
                 where_param_entries.push(Variant::BaseVariant {
                     definition: quote!(#variant_name(Vec<super::#relation_model_name_snake::WhereParam>)),
@@ -204,9 +204,8 @@ pub fn module(
                 let read_methods = read_filter.methods.iter().filter_map(|method| {
                     if method.name == "Equals" { return None }
 
-                    let method_name_snake = format_ident!("{}", method.name.to_case(Case::Snake));
-                    let method_name_pascal =
-                        format_ident!("{}", method.name.to_case(Case::Pascal));
+                    let method_name_snake = snake_ident(&method.name);
+                    let method_name_pascal = pascal_ident(&method.name);
 
                     let typ = method.type_tokens(quote!());
 
@@ -229,16 +228,12 @@ pub fn module(
                     .methods
                     .iter()
                     .map(|method| {
-                        let method_name_snake =
-                            format_ident!("{}", method.name.to_case(Case::Snake));
+                        let method_name_snake = snake_ident(&method.name);
 
                         let typ = method.type_tokens(quote!());
 
-                        let variant_name = format_ident!(
-                            "{}{}",
-                            method.name.to_case(Case::Pascal),
-                            field_name_pascal
-                        );
+                        let variant_name =
+                            format_ident!("{}{}", pascal_ident(&method.name), field_name_pascal);
 
                         quote! {
                             pub fn #method_name_snake(value: #typ) -> SetParam {
diff --git a/cli/src/generator/models/include_select.rs b/cli/src/generator/models/include_select.rs
index 9658b9b7..d2b95543 100644
--- a/cli/src/generator/models/include_select.rs
+++ b/cli/src/generator/models/include_select.rs
@@ -18,11 +18,11 @@ impl core::fmt::Display for Variant {
 
 impl Variant {
     fn type_trait(&self) -> Ident {
-        format_ident!("{}Type", self.to_string().to_case(Case::Pascal))
+        format_ident!("{}Type", pascal_ident(&self.to_string()))
     }
 
     fn param(&self) -> Ident {
-        format_ident!("{}Param", self.to_string().to_case(Case::Pascal))
+        format_ident!("{}Param", pascal_ident(&self.to_string()))
     }
 }
 
@@ -35,9 +35,10 @@ fn model_macro<'a>(
     // Fields that can be picked from
     selection_fields: impl Iterator<Item = &'a dml::Field> + Clone,
 ) -> TokenStream {
-    let model_name_pascal_str = model.name.to_case(Case::Pascal);
+    let model_name_pascal_str = pascal_ident(&model.name).to_string();
     let model_name_snake = snake_ident(&model.name);
-    let macro_name = format_ident!("_{variant}_{model_name_snake}");
+    let model_name_snake_raw = snake_ident_raw(&model.name);
+    let macro_name = format_ident!("_{variant}_{model_name_snake_raw}");
 
     let selection_type = variant.type_trait();
     let selection_param = variant.param();
@@ -287,7 +288,7 @@ fn model_macro<'a>(
 
     let all_fields_str = selection_fields
         .clone()
-        .map(|f| f.name().to_case(Case::Snake))
+        .map(|f| snake_ident(f.name()).to_string())
         .collect::<Vec<_>>()
         .join(", ");
 
diff --git a/cli/src/generator/models/mod.rs b/cli/src/generator/models/mod.rs
index 2dcb3cca..28300ca0 100644
--- a/cli/src/generator/models/mod.rs
+++ b/cli/src/generator/models/mod.rs
@@ -154,10 +154,10 @@ pub fn generate(args: &GenerateArgs, module_path: TokenStream) -> Vec<TokenStrea
     args.dml.models.iter().map(|model| {
         let mut where_params_entries = vec![];
 
-        let model_name_snake = format_ident!("{}", model.name.to_case(Case::Snake));
+        let model_name_snake = snake_ident(&model.name);
 
         where_params_entries.extend(OPERATORS.iter().map(|op| {
-            let variant_name = format_ident!("{}", op.name.to_case(Case::Pascal));
+            let variant_name = pascal_ident(&op.name);
             let op_action = &op.action;
             
             let value = match op.list {
@@ -206,7 +206,7 @@ pub fn generate(args: &GenerateArgs, module_path: TokenStream) -> Vec<TokenStrea
 
                 None
             } else {
-                let variant_name_string = fields.iter().map(|f| f.name().to_case(Case::Pascal)).collect::<String>();
+                let variant_name_string = fields.iter().map(|f| pascal_ident(f.name()).to_string()).collect::<String>();
                 let variant_name = format_ident!("{}Equals", &variant_name_string);
                 
                 let variant_data_names = fields.iter().map(|f| f.name()).collect::<Vec<_>>();
@@ -218,7 +218,7 @@ pub fn generate(args: &GenerateArgs, module_path: TokenStream) -> Vec<TokenStrea
                         dml::FieldArity::Optional => field.field_type().to_tokens(quote!(), &dml::FieldArity::Required)
                     };
                     
-                    let field_name_snake = format_ident!("{}", field.name().to_case(Case::Snake));
+                    let field_name_snake = snake_ident(field.name());
                     
                     (
                         (quote!(#field_name_snake: #field_type), field_type),
diff --git a/cli/src/generator/models/where_params.rs b/cli/src/generator/models/where_params.rs
index d7e5c7f7..6b37f557 100644
--- a/cli/src/generator/models/where_params.rs
+++ b/cli/src/generator/models/where_params.rs
@@ -52,8 +52,8 @@ pub fn collate_entries(entries: Vec<Variant>) -> TokenStream {
             read_filter_name,
             optional,
         } => {
-            let field_pascal = format_ident!("{}", field_name.to_case(Case::Pascal));
-            let field_snake = format_ident!("{}", field_name.to_case(Case::Snake));
+            let field_pascal = pascal_ident(field_name);
+            let field_snake = snake_ident(field_name);
 
             let variant_name = format_ident!("{}Equals", &field_pascal);
             let filter_enum = format_ident!("{}Filter", &read_filter_name);
diff --git a/docs/src/pages/getting-started/installation.md b/docs/src/pages/getting-started/installation.md
index 2ef73515..ab4f3b9b 100644
--- a/docs/src/pages/getting-started/installation.md
+++ b/docs/src/pages/getting-started/installation.md
@@ -20,8 +20,8 @@ First, the main library and CLI package must be added to your project's Cargo.to
 
 ```toml
 [dependencies]
-prisma-client-rust = { git = "https://github.com/Brendonovich/prisma-client-rust", tag = "0.6.4" }
-prisma-client-rust-cli = { git = "https://github.com/Brendonovich/prisma-client-rust", tag = "0.6.4" }
+prisma-client-rust = { git = "https://github.com/Brendonovich/prisma-client-rust", tag = "0.6.5" }
+prisma-client-rust-cli = { git = "https://github.com/Brendonovich/prisma-client-rust", tag = "0.6.5" }
 ```
 
 The generated client will need `serde`, so run `cargo add` to install it:
diff --git a/sdk/Cargo.toml b/sdk/Cargo.toml
index 4ae46987..061c5ba6 100644
--- a/sdk/Cargo.toml
+++ b/sdk/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "prisma-client-rust-sdk"
-version = "0.6.4"
+version = "0.6.5"
 authors = ["Brendan Allan <brendonovich@outlook.com>"]
 edition = "2021"
 rust-version = "1.62"
@@ -17,18 +17,18 @@ mongodb = ["query-core/mongodb"]
 sqlite-create-many = ["psl/sqlite-create-many"]
 
 [dependencies]
+serde_json.workspace = true
+serde.workspace = true
 convert_case = "0.5.0"
 serde_path_to_error = "0.1.7"
 quote = "1.0.18"
 syn = "1.0.91"
-serde_json = "1.0.79"
-serde = { version = "1.0.136", features = ["derive"] }
 proc-macro2 = "1.0.39"
 thiserror = "1.0.37"
 
-prisma-models = { git = "https://github.com/Brendonovich/prisma-engines", rev = "6bad339fc5b8bbc77e028eeae2038cf2ade2e6be" }
-request-handlers = { git = "https://github.com/Brendonovich/prisma-engines", rev = "6bad339fc5b8bbc77e028eeae2038cf2ade2e6be" }
-query-core = { git = "https://github.com/Brendonovich/prisma-engines", rev = "6bad339fc5b8bbc77e028eeae2038cf2ade2e6be" }
-dmmf = { git = "https://github.com/Brendonovich/prisma-engines", rev = "6bad339fc5b8bbc77e028eeae2038cf2ade2e6be" }
-dml = { git = "https://github.com/Brendonovich/prisma-engines", rev = "6bad339fc5b8bbc77e028eeae2038cf2ade2e6be" }
-psl = { git = "https://github.com/Brendonovich/prisma-engines", rev = "6bad339fc5b8bbc77e028eeae2038cf2ade2e6be" }
+prisma-models.workspace = true
+request-handlers.workspace = true
+query-core.workspace = true
+dmmf.workspace = true
+dml.workspace = true
+psl.workspace = true
diff --git a/sdk/src/args.rs b/sdk/src/args.rs
index a4005b07..de1405b8 100644
--- a/sdk/src/args.rs
+++ b/sdk/src/args.rs
@@ -1,13 +1,12 @@
 use std::str::FromStr;
 
-use convert_case::Case;
 use dml::{FieldArity, FieldType, ScalarField, ScalarType};
 use psl::{builtin_connectors, datamodel_connector::Connector};
 
 use dmmf::{DmmfInputField, DmmfInputType, DmmfSchema, TypeLocation};
 use proc_macro2::TokenStream;
 
-use crate::{casing::Casing, dmmf::EngineDMMF, FieldTypeExt};
+use crate::{dmmf::EngineDMMF, prelude::*, FieldTypeExt};
 
 pub struct GenerateArgs {
     pub dml: dml::Datamodel,
@@ -28,7 +27,7 @@ impl GenerateArgs {
                         if let TypeLocation::Scalar = input.location {
                             let name = &input.typ;
 
-                            if let Some(_) = scalars.iter().find(|s| s == &name) {
+                            if scalars.iter().any(|s| s == name) {
                                 continue;
                             }
 
@@ -71,10 +70,12 @@ impl GenerateArgs {
                     }
 
                     let mut s = scalar.clone();
-                    if p.name.contains("ListFilter") {
+
+                    // checking for both is invalid - fields can be list or null but not both
+                    // TODO: make this more typesafe to correspond with fields
+                    if p.name.contains("List") {
                         s += "List";
-                    }
-                    if p.name.contains("Nullable") {
+                    } else if p.name.contains("Nullable") {
                         s += "Nullable";
                     }
 
@@ -160,7 +161,7 @@ impl GenerateArgs {
             for scalar in &scalars {
                 let combinations = [
                     scalar.clone() + "FieldUpdateOperationsInput",
-                    "Nullable".to_string() + &scalar + "FieldUpdateOperationsInput",
+                    "Nullable".to_string() + scalar + "FieldUpdateOperationsInput",
                 ];
 
                 for c in combinations {
@@ -189,7 +190,7 @@ impl GenerateArgs {
                             ret
                         } {
                             fields.push(Method::new(
-                                field.name.to_case(Case::Pascal),
+                                pascal_ident(&field.name).to_string(),
                                 field.name.clone(),
                                 ScalarType::from_str(&type_name)
                                     .map(|t| FieldType::Scalar(t, None))
@@ -209,7 +210,7 @@ impl GenerateArgs {
             for model in &dml.models {
                 for field in &model.fields {
                     let p = match schema.find_input_type(
-                        &(model.name.to_string() + "Update" + &field.name() + "Input"),
+                        &(model.name.to_string() + "Update" + field.name() + "Input"),
                     ) {
                         Some(p) => p,
                         None => continue,
@@ -249,7 +250,7 @@ impl GenerateArgs {
                                 ret
                             } {
                                 fields.push(Method::new(
-                                    field.name.to_case(Case::Pascal),
+                                    pascal_ident(&field.name).to_string(),
                                     field.name.clone(),
                                     FieldType::Scalar(
                                         ScalarType::from_str(&type_name).unwrap(),
@@ -358,7 +359,7 @@ impl DmmfSchemaExt for DmmfSchema {
     fn find_input_type(&self, name: &str) -> Option<&DmmfInputType> {
         self.input_object_types
             .get("prisma")
-            .and_then(|t| t.iter().find(|i| &i.name == &name))
+            .and_then(|t| t.iter().find(|i| i.name == name))
     }
 }
 
@@ -422,7 +423,7 @@ fn input_field_as_method(field: &DmmfInputField) -> Option<Method> {
             match field.name.as_str() {
                 "in" => "InVec".to_string(),
                 "notIn" => "NotInVec".to_string(),
-                name => name.to_case(Case::Pascal),
+                name => pascal_ident(name).to_string(),
             },
             field.name.clone(),
             ScalarType::from_str(&type_name)
diff --git a/sdk/src/casing.rs b/sdk/src/casing.rs
index 30c3a0a0..dcd733ff 100644
--- a/sdk/src/casing.rs
+++ b/sdk/src/casing.rs
@@ -3,23 +3,22 @@ pub use convert_case::Case;
 use crate::keywords::KEYWORDS;
 
 pub trait Casing {
-    fn to_case(&self, case: Case) -> String;
+    fn to_case(&self, case: Case, raw: bool) -> String;
 }
 
 impl<T: AsRef<str> + convert_case::Casing<T>> Casing for T
 where
     String: PartialEq<T>,
 {
-    fn to_case(&self, case: Case) -> String {
+    fn to_case(&self, case: Case, raw: bool) -> String {
         let this = self.as_ref();
-        let should_raw = KEYWORDS.contains(&this);
 
         let cased = match &this[this.len() - 1..] {
-            "_" if this.len() >= 2 => (&this[0..this.len() - 1]).to_case(case) + "_",
+            "_" if this.len() >= 2 => (&this[0..this.len() - 1]).to_case(case, raw) + "_",
             _ => convert_case::Casing::to_case(&this, case),
         };
 
-        if should_raw {
+        if !raw && KEYWORDS.iter().any(|k| k == &cased) {
             format!("r#{cased}")
         } else {
             cased
diff --git a/sdk/src/extensions.rs b/sdk/src/extensions.rs
index ee59cc1e..d936c8ff 100644
--- a/sdk/src/extensions.rs
+++ b/sdk/src/extensions.rs
@@ -41,7 +41,7 @@ impl FieldExt for Field {
     }
 
     fn type_prisma_value(&self, var: &Ident) -> TokenStream {
-        self.field_type().to_prisma_value(var, &self.arity())
+        self.field_type().to_prisma_value(var, self.arity())
     }
 
     fn relation_methods(&self) -> &'static [&'static str] {
@@ -68,7 +68,7 @@ impl FieldTypeExt for FieldType {
     fn to_tokens(&self, prefix: TokenStream, arity: &FieldArity) -> TokenStream {
         let base = match self {
             Self::Enum(name) => {
-                let name = pascal_ident(&name);
+                let name = pascal_ident(name);
                 quote!(#prefix #name)
             }
             Self::Relation(info) => {
diff --git a/sdk/src/lib.rs b/sdk/src/lib.rs
index dbbe6f35..fe4dce81 100644
--- a/sdk/src/lib.rs
+++ b/sdk/src/lib.rs
@@ -38,11 +38,15 @@ pub mod prelude {
     }
 
     pub fn snake_ident(name: &str) -> Ident {
-        format_ident!("{}", name.to_case(Case::Snake))
+        format_ident!("{}", name.to_case(Case::Snake, false))
+    }
+
+    pub fn snake_ident_raw(name: &str) -> Ident {
+        format_ident!("{}", name.to_case(Case::Snake, true))
     }
 
     pub fn pascal_ident(name: &str) -> Ident {
-        format_ident!("{}", name.to_case(Case::Pascal))
+        format_ident!("{}", name.to_case(Case::Pascal, false))
     }
 }
 
diff --git a/sdk/src/runtime.rs b/sdk/src/runtime.rs
index c74b4bb8..eb448c82 100644
--- a/sdk/src/runtime.rs
+++ b/sdk/src/runtime.rs
@@ -98,16 +98,16 @@ impl GeneratorMetadata {
                 .expect("Datamodel is invalid after being verified by CLI?!"),
         );
         let datamodel = psl::lift(&schema);
-        let internal_data_model = prisma_models::convert(schema.clone(), "".into());
-        let query_schema = Arc::new(schema_builder::build(internal_data_model.clone(), true));
-        let dmmf = from_precomputed_parts(query_schema.clone());
+        let internal_data_model = prisma_models::convert(schema, "".into());
+        let query_schema = Arc::new(schema_builder::build(internal_data_model, true));
+        let dmmf = from_precomputed_parts(query_schema);
 
         let output_str = engine_dmmf.generator.output.get_value();
         let output_path = Path::new(&output_str);
 
         let config = engine_dmmf.generator.config.clone();
 
-        let mut file = create_generated_file(&output_path)?;
+        let mut file = create_generated_file(output_path)?;
 
         let mut generated_str = format!("// Code generated by {}. DO NOT EDIT\n\n", self.name);
 


Test patch:
diff --git a/integration-tests/schema.prisma b/integration-tests/schema.prisma
index e9ec5b45..60ebd39f 100644
--- a/integration-tests/schema.prisma
+++ b/integration-tests/schema.prisma
@@ -88,6 +88,8 @@ model Types {
     @@unique([id, string])
 }
 
-model RHash {
-    impl Int @id @default(4)
+// https://discord.com/channels/1011665225809924136/1011666506083487775/1078948688728162384
+model Ref {
+    id   String @id @default(uuid())
+    impl Int
 }
diff --git a/integration-tests/tests/lib.rs b/integration-tests/tests/lib.rs
index a144c14c..e0d881fa 100644
--- a/integration-tests/tests/lib.rs
+++ b/integration-tests/tests/lib.rs
@@ -31,7 +31,6 @@ mod find_many;
 mod find_unique;
 mod include;
 mod mock;
-mod r_hash;
 mod raw;
 mod select;
 mod specta;
diff --git a/integration-tests/tests/r_hash.rs b/integration-tests/tests/r_hash.rs
deleted file mode 100644
index cb6467d7..00000000
--- a/integration-tests/tests/r_hash.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-use crate::db::*;
-use crate::utils::*;
-
-#[tokio::test]
-async fn field() -> TestResult {
-    let client = client().await;
-
-    let val = client.r_hash().create(vec![]).exec().await?;
-
-    assert_eq!(val.r#impl, 4);
-
-    client
-        .r_hash()
-        .delete(r_hash::r#impl::equals(4))
-        .exec()
-        .await?;
-
-    cleanup(client).await
-}