Prisma Client Dart is an auto-generated type-safe ORM. It uses Prisma Engine as the data access layer and is as consistent as possible with the Prisma Client JS/TS APIs.
BSD-3-CLAUSE License
Bot releases are visible (Hide)
Published by medz about 2 years ago
🌟 Help us spread the word about Prisma ORM for Dart by starring the repo or Tweeting about the release. 🌟
Previously, use prisma.yaml
to configure Prisma:
environment:
DATABASE_URL: postgres://user:password@localhost:5432/mydb
Now, we have introduced a new configuration method, Runtime Configuration compatible with dotenv format:
# .prismarc
DATABASE_URL=postgres://user:password@localhost:5432/mydb
# Database host
DATABASE_HOST=postgres://user:password@localhost:5432
DATABASE_URL=${DATABASE_HOST}/mydb
If you have dotenv in mind, you just need to add the database URL configuration to .env
:
DATABASE_URL=postgres://user:password@localhost:5432/mydb
For more usage of runtime configuration, please see 👉 https://pub.dev/packages/rc
Now, you can customize your prisma project configuration in pubspec.yaml
:
...
prisma:
prismarc: path/a/b/c/custom.prismarc
dotenv: path/a/b/c/custom.env
schema: path/a/b/c/custom.prisma
...
Parameter | Description | Default |
---|---|---|
prismarc |
Custom runtime configuration path | .prismarc |
dotenv |
Custom dotenv path | .env |
schema |
Custom Prisma schema path | prisma/schema.prisma |
Previously, the Prisma engine was downloaded into the .dart_tool/prisma
directory, now you can customize it.
# Query binary engine
PRISMA_QUERY_ENGINE_BINARY(path) = custom-engines/query-engine
# Migration binary engine
PRISMA_MIGRATION_ENGINE_BINARY(path) = custom-engines/migration-engine
# Introspection binary engine
PRISMA_INTROSPECTION_ENGINE_BINARY(path) = custom-engines/introspection-engine
# Format binary engine
PRISMA_FMT_BINARY(path) = custom-engines/prisma-fmt
PRISMA_QUERY_ENGINE_BINARY=path/to/custom-engines/query-engine
PRISMA_MIGRATION_ENGINE_BINARY=path/to/custom-engines/migration-engine
PRISMA_INTROSPECTION_ENGINE_BINARY=path/to/custom-engines/introspection-engine
PRISMA_FMT_BINARY=path/to/custom-engines/prisma-fmt
package:orm/configure.dart
Previously, we have package:orm/configure.dart
to configure Prisma, now we have refactored it to package:orm/prisma.dart
:
import 'package:orm/configure.dart';
print(configure('DATABASE_URL'));
Now, you can use package:orm/configure.dart
to configure Prisma:
import 'package:orm/configure.dart';
print(environment.DATABASE_URL);
Published by medz about 2 years ago
🌟 Help us spread the word about Prisma ORM for Dart by starring the repo or Tweeting about the release. 🌟
We have reasonably integrated all the packages we split before, before:
dependencies:
orm: 1.0.0
dev_dependencies:
prisma_cli: 1.0.0
Now:
dependencies:
orm: 1.0.0
Interactive transactions are a stable feature in Prisma For Dart, but a preview feature for the Prisma engine.
Interactive transactions are easier to handle for ORMs:
final result = prisma.$transaction((prisma) async {
final user = await prisma.user.create({
data: {
name: 'Odore',
},
});
final post = await prisma.post.create({
data: {
title: 'My first post',
content: 'This is my first post',
author: {
connect: {
id: user.id,
},
},
},
});
return post;
}
db pull
functiongenerate
commandprisma.$connect()
methodprisma.$disconnect()
method