0.6.0 迁移
版本 0.6.0 引入了一些重大更改 (在新标签页中打开),以下是如何更新您的项目以使其正常工作。
删除 create
中的必填字段说明符
// Before
client
.user()
.create(user::name::set("Brendan".to_string()), vec![])
client
.post()
.create(post::author::link(user::id::equals(0)), vec![])
// After
client
.user()
.create("Brendan".to_string(), vec![])
client
.post()
.create(user::id::equals(0), vec![])
使用专用的 update
和 delete
操作
// Before
client
.user()
.find_unique(user::id::equals(0))
.update(vec![])
client
.user()
.find_unique(user::id::equals(0))
.delete()
// After
client
.user()
.update(user::id::equals(0), vec![])
client
.user()
.delete(user::id::equals(0))
此模式也适用于 update_many
和 delete_many
// Before
client
.user()
.find_many(vec![user::name::contains("Brendan".to_string())])
.update(vec![])
client
.user()
.find_many(vec![user::name::contains("Brendan".to_string())])
.delete()
// After
client
.user()
.update_many(vec![user::name::contains("Brendan".to_string())], vec![])
client
.user()
.delete_many(vec![user::name::contains("Brendan".to_string())])
使用 connect
/disconnect
关系字段函数 link
和 unlink
已分别重命名为 connect
和 disconnect
。
使用 equals
而不是 cursor
字段函数
cursor
构建器函数现在接受 UniqueWhereParam
,因此任何使用 cursor
字段函数的地方都可以替换为 equals
。
// Before
client
.user()
.find_many(vec![])
.cursor(user::id::cursor(0))
// After
client
.user()
.find_many(vec![])
.cursor(user::id::equals(0))
使用 QueryError
类型
prisma_client_rust::queries::Error
已重命名并可访问为 prisma_client_rust::QueryError
。此外,error_is_type
函数已移至 QueryError::is_prisma_error
。
删除 Option
对 update
和 delete
的处理
update
和 delete
现在返回错误而不是 Option
(如果未找到记录)。此行为与官方 Prisma 客户端一致。
更新关系访问器的错误处理
关系访问器不再产生字符串错误,而是具有专用的 prisma_client_rust::RelationNotFetchedError
类型。
使用特性解析器版本 2
如果您未使用工作区,请在您的 Cargo.toml
中设置 如果您使用的是工作区,请在根目录下的
Cargo.toml
中设置 resolver = "2"
。
更多信息可在 发行说明(在新标签页中打开) 中找到。