Skip to content

amplication/prisma-schema-dsl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

127 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Node.js CI

Prisma Schema DSL

JavaScript interface for Prisma Schema DSL

Installation

npm install prisma-schema-dsl

API

Print

print(schema: Schema): Promise<string>

Prints Prisma schema file from AST. The schema is formatted using prisma-format.

Builders

createSchema(models: Model[], dataSource?: DataSource): Schema

Creates a schema AST object

createEnum(name: string, values: string[], documentation?: string): Enum

  • Creates an enum AST object
  • Validates given name argument

createModel(name: string, fields: Array<ScalarField | ObjectField>): Model

  • Creates a model AST object
  • Validates given name argument

createScalarField(name: string, type: ScalarType, isList: boolean = false, isRequired: boolean = false, isUnique: boolean = false, isId: boolean = false, isUpdatedAt: boolean = false, default: | null | boolean | CallExpression | number | string = null): ScalarField

  • Creates a scalar field AST object
  • Validates given name argument

createObjectField(name: string, type: string, isList: boolean = false, isRequired: boolean = false, relationName: string | null = null, relationToFields: string[] = [], relationToReferences: string[] = [], relationOnDelete: "NONE" = "NONE"): ObjectField

  • Creates an object field AST object
  • Validates given name argument

createDataSource(name: string, provider: DataSourceProvider, url: string | DataSourceURLEnv): DataSource

Creates a data source AST object

Development

  • Clone the repository git clone git@github.com:amplication/prisma-schema-dsl.git
  • Make sure to use npm@7 npm i -g npm@7
  • Install the dependencies npm install
  • Run tests npm test

Created with <3 by amplication

About

JavaScript interface for Prisma Schema DSL

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 7