Prisma: Difference between revisions
Appearance
m Remove PRISMA_QUERY_ENGINE_LIBRARY env var due to unavailable path. Additionally stress the matching of prisma version in NixOS and application. |
|||
| Line 5: | Line 5: | ||
* Support for multiple databases (e.g., PostgreSQL, MySQL, SQLite) with a focus on developer productivity and code safety. | * Support for multiple databases (e.g., PostgreSQL, MySQL, SQLite) with a focus on developer productivity and code safety. | ||
To use Prisma in your Node.js application you must install the <code>prisma</code> and <code>prisma-engines</code> packages and set some environment variables. | To use Prisma in your Node.js application you must install the <code>prisma</code> and <code>prisma-engines</code> packages and set some environment variables. Naturally the <code>prisma</code> version in your Node.js application should match the version of the <code>prisma</code> packages in NixOS. | ||
=== Shell.nix example === | === Shell.nix example === | ||
| Line 20: | Line 20: | ||
export PRISMA_SCHEMA_ENGINE_BINARY="${pkgs.prisma-engines}/bin/schema-engine" | export PRISMA_SCHEMA_ENGINE_BINARY="${pkgs.prisma-engines}/bin/schema-engine" | ||
export PRISMA_QUERY_ENGINE_BINARY="${pkgs.prisma-engines}/bin/query-engine" | export PRISMA_QUERY_ENGINE_BINARY="${pkgs.prisma-engines}/bin/query-engine" | ||
export PRISMA_FMT_BINARY="${pkgs.prisma-engines}/bin/prisma-fmt" | export PRISMA_FMT_BINARY="${pkgs.prisma-engines}/bin/prisma-fmt" | ||
''; | ''; | ||
| Line 45: | Line 44: | ||
export PRISMA_SCHEMA_ENGINE_BINARY="${pkgs.prisma-engines}/bin/schema-engine" | export PRISMA_SCHEMA_ENGINE_BINARY="${pkgs.prisma-engines}/bin/schema-engine" | ||
export PRISMA_QUERY_ENGINE_BINARY="${pkgs.prisma-engines}/bin/query-engine" | export PRISMA_QUERY_ENGINE_BINARY="${pkgs.prisma-engines}/bin/query-engine" | ||
export PRISMA_FMT_BINARY="${pkgs.prisma-engines}/bin/prisma-fmt" | export PRISMA_FMT_BINARY="${pkgs.prisma-engines}/bin/prisma-fmt" | ||
''; | ''; | ||
Latest revision as of 11:16, 20 October 2026
Prisma ORM is a modern, type-safe ORM for Node.js and TypeScript that simplifies database access and management. It provides:
- A schema-driven approach for defining your data model and generating a tailored, type-safe client.
- Built-in tools for managing migrations (Prisma Migrate) and inspecting your data visually (Prisma Studio).
- Support for multiple databases (e.g., PostgreSQL, MySQL, SQLite) with a focus on developer productivity and code safety.
To use Prisma in your Node.js application you must install the prisma and prisma-engines packages and set some environment variables. Naturally the prisma version in your Node.js application should match the version of the prisma packages in NixOS.
Shell.nix example
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
buildInputs = [
pkgs.prisma-engines
pkgs.prisma
];
shellHook = ''
export PKG_CONFIG_PATH="${pkgs.openssl.dev}/lib/pkgconfig"
export PRISMA_SCHEMA_ENGINE_BINARY="${pkgs.prisma-engines}/bin/schema-engine"
export PRISMA_QUERY_ENGINE_BINARY="${pkgs.prisma-engines}/bin/query-engine"
export PRISMA_FMT_BINARY="${pkgs.prisma-engines}/bin/prisma-fmt"
'';
}
Flake.nix example
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = {nixpkgs, ...}: let
pkgs = nixpkgs.legacyPackages."x86_64-linux";
in {
devShells.x86_64-linux.default = pkgs.mkShell {
buildInputs = with pkgs; [
prisma-engines
prisma
];
shellHook = ''
export PKG_CONFIG_PATH="${pkgs.openssl.dev}/lib/pkgconfig";
export PRISMA_SCHEMA_ENGINE_BINARY="${pkgs.prisma-engines}/bin/schema-engine"
export PRISMA_QUERY_ENGINE_BINARY="${pkgs.prisma-engines}/bin/query-engine"
export PRISMA_FMT_BINARY="${pkgs.prisma-engines}/bin/prisma-fmt"
'';
};
};
}