GitHunt
AN

anthonykrivonos/prismagen

Combine multiple Prisma schemas into one file.

๐Ÿ”บ prismagen

Define your Prisma schema across multiple files and in a directory structure of your choice.

Compile it all into one schema.prisma.

Example directory structure:

โ”œโ”€โ”€ prisma
โ”‚   โ”œโ”€โ”€ user
โ”‚   โ”‚   โ”œโ”€โ”€ account.schema
โ”‚   โ”‚   โ”œโ”€โ”€ session.schema
โ”‚   โ”œโ”€โ”€ organization
โ”‚   โ”‚   โ”œโ”€โ”€ group.schema
โ”‚   โ”‚   โ”œโ”€โ”€ event.schema
โ””โ”€โ”€ base.schema (datasource and generators)

Resulting schema.prisma:

datasource db {
    provider = "postgresql"
    url      = env("DATABASE_URL")
}

generator js {
    provider = "prisma-client-js"
}

model Account {
    ...
}

model Session {
    ...
}

model Group {
    ...
}

model Event {
    ...
}

...

Usage

prismagen <path to files> -b <base_filename.prisma?> -o <output_filename.prisma?>

Example: prisma . = prisma . -b base.prisma -o schema.prisma

  1. Define your datasource and generators in a base.prisma file.
  2. Define enums, models, etc. in the current directory and in subdirectories.
  3. Run prismagen . to generate a schema.prisma in the current directory.

Languages

JavaScript100.0%

Contributors

MIT License
Created May 20, 2023
Updated May 20, 2023