prisma/orm

Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 46 minutes ago
Added to GitGenius on July 11th, 2024
Created on June 20th, 2019
Open Issues & Pull Requests: 2,582 (+0)
GitHub issues: Enabled
Number of forks: 2,536
Total Stargazers: 47,575 (+0)
Total Subscribers: 337 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 19.8 hours
Mean response time: 70.6 days
90th percentile: 154.6 days
Tracked items: 21

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 0% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 23
New in 7 days: 13
Closed in 7 days: 2
Avg open age: 535 days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 13
Closed in 7 days: 2
Comments in 7 days: 24
Events in 7 days: 50

Top labels

  • kind/bug (8)
  • bug/1-unconfirmed (4)
  • kind/feature (4)
  • bug/2-confirmed (2)
  • topic: client api (2)
  • topic: dates / DateTime (2)
  • topic: generator-ts (2)
  • topic: relations (2)

Detailed Description

Prisma is a next-generation object-relational mapping tool designed for Node.js and TypeScript applications. The repository contains the core implementation of Prisma ORM, which provides type-safe database access across multiple database systems including PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB, and CockroachDB. The project is written in TypeScript and serves as the foundation for building database-driven applications with full type safety.

The Prisma toolkit consists of three main components. Prisma Client is an auto-generated and type-safe query builder that can be used in any Node.js or TypeScript backend application, including serverless applications and microservices. It supports integration with REST APIs, GraphQL APIs, gRPC APIs, and other backend architectures. Prisma Migrate provides a declarative data modeling and migration system that allows developers to define their database schema and manage schema changes over time. Prisma Studio offers a graphical user interface for viewing and editing data directly in the database.

The core workflow in Prisma centers on the Prisma schema file, where developers define their application models in an intuitive data modeling language. The schema specifies the data source (database type), generators (such as Prisma Client), and the data model itself. Developers can either generate the data model by introspecting an existing database or manually write the model and map it to the database using Prisma Migrate. Once the schema is defined, Prisma Client is generated and provides full type-safe CRUD operations and more advanced queries for the defined models.

According to GitGenius activity tracking, the repository shows significant ongoing development and community engagement.

The repository's classification spans multiple technical domains including introspection, type-safe queries, multi-database support, data validation, schema modeling, migration management, performance optimization, and security.

Prisma supports configuration through a prisma.config.ts file that manages database connection details and CLI subcommands. The tool provides flexibility in how developers interact with their databases, whether through manual schema definition or automatic introspection of existing databases. The generated Prisma Client returns plain JavaScript objects from all queries while maintaining full type safety in TypeScript environments, allowing developers to catch property access errors and typos at compile time rather than runtime.