升级指南
Prisma Dart v4 -> v5 & Flutter 集成
从 Prisma Dart v4 升级到 v5 相对简单。虽然这是一个主要版本变更,但用户 API 没有发生变化。
Prisma 模式中的 engineType
现在,在 Flutter 集成中,您告诉生成器您想要为 Flutter 生成客户端
prisma
generator client {
provider = "dart run orm"
output = "../lib/_generated_prisma_client"
engineType = "flutter"
}
PrismaClient
Prisma Client 的主要变化
- 从隔离类型更改为自依赖类型,使用
Class PrismaClient extends BasePrismaClient<PrismaClient>
。 - 已弃用
PrismaClient.use
方法。
之前
dart
final prisma = PrismaClient.use((schema, datasoruce) {
/// Your codes, create engine and returns.
});
现在
dart
final engine = ...; // You created engine instance.
final prisma = PrismaClient(engine: engine);
日志记录
以前,我们依赖于 logging
包进行日志记录。然后您需要监听日志并自行输出它们。
现在,Prisma Dart 实现了与 Prisma TS/JS 客户端相同的日志记录。
有关更多日志记录信息,请参阅 👉 Prisma 日志记录。
输出到控制台
之前
dart
import 'package:loging/loging.dart';
Logger.root.onRecore.listen((log) {
print(log.message);
});
现在
dart
final prisma = PrismaClient(
log: {
(LogLevel.query, LogEmit.stdout),
// ... More level configs
},
);
日志事件
之前
dart
import 'package:loging/loging.dart';
Logger.root.onRecore.listen((log) {
//... You custon.
});
现在
dart
final prisma = PrismaClient(
log: {
(LogLevel.query, LogEmit.event),
// ... More level configs
},
);
prisma.$on(LogLevel.query, (event) {
// ...
});