prismap
v1.2.0
Published
Prismap automatically maps and pluralizes Prisma schema.
Downloads
10
Readme
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.