Prisma Support

BlazeKit can generate a complete Prisma setup for your models, including the model definition for your schema.prisma file and a full CRUD controller using the Prisma Client.

What BlazeKit Generates

For each model, BlazeKit creates two things:

  • Prisma Schema Model — A ready-to-paste Prisma model definition for schema.prisma.
  • Prisma Controller — A CRUD controller using the Prisma Client.

Example Output

Suppose you have a model User:

schema.prisma

model User {
  id     String @id
  name   String
  email  String @unique
  age    Int?
}

BlazeKit will also generate the following Prisma-based controller:

controllers/user.ts

// Prisma Setup (auto-generated)
import { prisma } from "../lib/prisma";
import { User } from "../types/User";

// CRUD Operations for User

export async function createUser(data: User) {
  return prisma.user.create({ data });
}

export async function getAllUsers() {
  return prisma.user.findMany();
}

export async function getUserById(id: string) {
  return prisma.user.findUnique({ where: { id } });
}

export async function updateUser(id: string, data: Partial<User>) {
  return prisma.user.update({
    where: { id },
    data,
  });
}

export async function deleteUser(id: string) {
  return prisma.user.delete({ where: { id } });
}

Notes

  • The generated Prisma schema needs to be manually pasted into your schema.prisma file.
  • After updating the Prisma schema, don't forget to run npx prisma generate to update your client.
  • BlazeKit assumes you have a prisma instance exported from lib/prisma.ts (you can customize this).
  • Table (model) names are automatically lowercased in controller methods (e.g., Useruser).