2.0.0 • Published 1 year ago

@kaykyramos/prisma-case-format v2.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

prisma-case-format

As of prisma@2.19.0, prisma introspect will name its model 1:1 with your database's conventions. That's great, but if your db is purely snake_case, or worse if your tables lack any common convention, it can make the autogenerated client code less pleasant to consume. prisma-case-format will format your table and field names for every model as to enforce a more conventional experience.

Usage

❯ prisma-case-format --help
Usage: prisma-case-format [options]

Give your schema.prisma sane naming conventions

Options:
  --file <file>             schema.prisma file location (default: "schema.prisma")
  --table-case <tableCase>  case convention for table names. allowable values: "pascal", "camel", "snake" (default: "pascal")
  --field-case <fieldCase>  case convention for field names. allowable values: "pascal", "camel", "snake" (default: "camel")
  -D, --dry-run             print changes to console, rather than back to file (default: false)
  -h, --help                display help for command

Example

// schema.prisma before
...
model house_rating {
  id       Int    @id @default(autoincrement())
  house_id String
  house    house  @relation(fields: [house_id], references: [id])
  ...
}
...
model house {
  id  String  @id @default(uuid())
  house_ratings house_rating[]
  ...
}
...
❯ prisma-case-format
✨ Done.
// schema.prisma after
...
model HouseRatings {
  id       Int    @id @default(autoincrement())
  houseId  String @map("house_id")
  house    House  @relation(fields: [houseId], references: [id])
  ...

  @@map("house_ratings")
}
...
model House {
  id           String        @id @default(uuid())
  houseRatings HouseRating[]
  ...

  @@map("house")
}
...