/prisma-client-rust

Type-safe database access for Rust

Primary LanguageRustApache License 2.0Apache-2.0

Prisma Client Rust

Type-safe database access for Rust

Latest version of Prisma Client Rust is 0.6.3 Latest supported Prisma version is 4.2.0 Test Status Link to latest Documentation files Prisma Client Rust uses Discord as a place to chat and ask questions

Prisma Client Rust is an autogenerated query builder that provides simple and fully type-safe database access utilising the Prisma ecosystem. It is an alternative to ORMs like Diesel and SeaORM and tools like SQLx.

Why Prisma Client Rust?

For experienced Rust developers, Prisma Client Rust provides a consistent and understandable API on top of Prisma's powerful database technology.

For developers looking to step away from NodeJS and create faster, more efficient applications, Prisma Client Rust harnesses existing tooling and terminology that Prisma Client JS users will be familiar with, making developing applications in Rust more approachable.

Also - perhaps for the first time - using Prisma in a frontend application is easy. Using Prisma Client Rust in a desktop application powered by Tauri allows the entire Prisma ecosystem to be used while developing desktop applications.

Getting Started

Read the installation instructions to get started and setup the CLI.

For more general information about Prisma and its CLI, check out the official Prisma docs.

Support

If you have any questions, feel free to ask them in the Prisma Client Rust + rspc Discord server.

Versioning

Prisma Client Rust is not stable.

Breaking changes will be documented and released under a new MINOR version following this format.

MAJOR.MINOR.PATCH

There is no release schedule, as I work on this alone and can't guarantee updates.

Affiliation

Prisma Client Rust is not an official Prisma product, but has been generously supported as part of their FOSS Fund.

Acknowledgements

  • steebchen and all other contributors to Prisma Client Go for writing a lot of code and documentation that Prisma Client Rust basically copies. Without Prisma Client Go, this project would not have even been attempted.
  • seunlanlege for their work on prisma-client-rs which was used while integrating Prisma's query engine crates.
  • Prisma for developing a brilliant and flexible open source ORM, and providing sponsorship.
  • Robert Craige for writing tests for Prisma Client Python that I have adapted.
  • Spacedrive for hiring me and letting me work on this. (sure I'm a founding member but thanks anyway!)