1.2.0 • Published 3 years ago

prismap v1.2.0

Weekly downloads
9
License
MIT
Repository
-
Last release
3 years ago

Prismap

Prismap, which stands for Prisma Map and Pluralize, automatically maps and pluralizes Prisma schema to match conventional database names with JavaScript/TypeScript naming conventions.

Currently it doesn't support enum. If your Prisma schema contains enums, the result would be broken.

Key Feautres

  • Map table names to PascalCase.
  • Map attribute names to camelCase.
  • Pluralize 1:m, n:m relations.

Example

model user {
  id             Int              @id
  nickname       String           @unique
  joined_at      DateTime
  community_post community_post[]
}

model community_post {
  id      Int    @id
  body    String
  user_id Int
  user    user   @relation(fields: [user_id], references: [id])
}

converts to

model User {
  id             Int             @id
  nickname       String          @unique
  joinedAt       DateTime        @map(name: "joined_at")
  communityPosts CommunityPost[]

  @@map(name: "user")
}

model CommunityPost {
  id     Int    @id
  body   String
  userId Int    @map(name: "user_id")
  user   User   @relation(fields: [userId], references: [id])

  @@map(name: "community_post")
}

PascalCase table names

- model User {
-   ...
- }
+ model user {
+   ...
+   @@map(name: "user")
+ }
- model community_post {
-   ...
- }
+ model CommunityPost {
+   ...
+   @@map(name: "community_post")
+ }

camelCase attribute names

- joined_at DateTime
+ joinedAt  DateTime @map(name: "joined_at")
- user_id Int
+ userId  Int @map(name: "user_id")

Pluralize relations

- community_post community_post[]
+ communityPosts CommunityPost[]

Installation

npm i -g prismap

Usage

Inside your project directory, run

prismap

Options

--schema

Specify the Prisma schema path. Prismap finds prisma/schema.prisma by default.

1.2.0

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago