Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Introspection] Postgres @default include type information #1810

Closed
janpio opened this issue Mar 10, 2020 · 2 comments
Closed

[Introspection] Postgres @default include type information #1810

janpio opened this issue Mar 10, 2020 · 2 comments
Assignees
Labels
bug/2-confirmed Bug has been reproduced and confirmed. kind/bug A reported bug. topic: introspection

Comments

@janpio
Copy link
Member

janpio commented Mar 10, 2020

  • discourse schema
  • preview023 and alpha.883
  enabled           Boolean  @default(true)
  grant_count       Int      @default(0)
  icon              String?  @default("'fa-certificate'::character varying")
  id                Int      @default(autoincrement()) @id
  image             String?

...

  auto_close_based_on_last_post     Boolean? @default(false)
  auto_close_hours                  Float?
  color                             String   @default("'AB9364'::character varying")
  contains_messages                 Boolean?
  created_at                        DateTime
  default_top_period                String?  @default("'all'::character varying")
  default_view                      String?
  description                       String?

...

Causes problems like prisma/prisma-client-js#559

@janpio janpio added bug/2-confirmed Bug has been reproduced and confirmed. kind/bug A reported bug. labels Mar 10, 2020
@janpio janpio added this to the Preview 24 New milestone Mar 10, 2020
@Jolg42
Copy link
Member

Jolg42 commented Mar 10, 2020

For this schema

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

datasource db {
  provider = "postgresql"
  url      = "postgresql://localhost"
}

model badges {
  icon String? @default("'fa-certificate'::character varying")
  id   Int     @default(autoincrement()) @id
}

The dmmf JSON in @prisma/client syntax is broken because of the ' quotes at "default":"'fa-certificate'::character varying"

/**
 * DMMF
 */
const dmmfString = '{"datamodel":{"enums":[],"models":[{"name":"badges","isEmbedded":false,"dbName":null,"fields":[{"name":"icon","kind":"scalar","dbNames":[],"isList":false,"isRequired":false,"isUnique":false,"isId":false,"type":"String","default":"'fa-certificate'::character varying","isGenerated":false,"isUpdatedAt":false},{"name":"id","kind":"scalar","dbNames":[],"isList":false,"isRequired":true,"isUnique":false,"isId":true,"type":"Int","default":{"name":"autoincrement","returnType":"Int","args":[]},"isGenerated":false,"isUpdatedAt":false}],"isGenerated":false,"idFields":[],"uniqueFields":[]}]},"mappings":[{"model":"badges","plural":"badges","findOne":"findOnebadges","findMany":"findManybadges","create":"createOnebadges","delete":"deleteOnebadges","update":"updateOnebadges","deleteMany":"deleteManybadges","updateMany":"updateManybadges","upsert":"upsertOnebadges","aggregate":"aggregatebadges"}],"schema":{"enums":[{"name":"OrderByArg","values":["asc","desc"]}],"outputTypes":[{"name":"badges","fields":[{"name":"icon","args":[],"outputType":{"type":"String","kind":"scalar","isRequired":false,"isList":false}},{"name":"id","args":[],"outputType":{"type":"Int","kind":"scalar","isRequired":true,"isList":false}}]},{"name":"AggregateBadges","fields":[{"name":"count","args":[],"outputType":{"type":"Int","kind":"scalar","isRequired":true,"isList":false}}]},{"name":"Query","fields":[{"name":"findManybadges","args":[{"name":"where","inputType":[{"type":"badgesWhereInput","kind":"object","isRequired":false,"isList":false}]},{"name":"orderBy","inputType":[{"isList":false,"isRequired":false,"type":"badgesOrderByInput","kind":"object"}]},{"name":"skip","inputType":[{"type":"Int","kind":"scalar","isRequired":false,"isList":false}]},{"name":"after","inputType":[{"type":"badgesWhereUniqueInput","kind":"object","isRequired":false,"isList":false}]},{"name":"before","inputType":[{"type":"badgesWhereUniqueInput","kind":"object","isRequired":false,"isList":false}]},{"name":"first","inputType":[{"type":"Int","kind":"scalar","isRequired":false,"isList":false}]},{"name":"last","inputType":[{"type":"Int","kind":"scalar","isRequired":false,"isList":false}]}],"outputType":{"type":"badges","kind":"object","isRequired":true,"isList":true}},{"name":"aggregatebadges","args":[],"outputType":{"type":"AggregateBadges","kind":"object","isRequired":true,"isList":false}},{"name":"findOnebadges","args":[{"name":"where","inputType":[{"type":"badgesWhereUniqueInput","kind":"object","isRequired":true,"isList":false}]}],"outputType":{"type":"badges","kind":"object","isRequired":false,"isList":false}}]},{"name":"BatchPayload","fields":[{"name":"count","args":[],"outputType":{"type":"Int","kind":"scalar","isRequired":true,"isList":false}}]},{"name":"Mutation","fields":[{"name":"createOnebadges","args":[{"name":"data","inputType":[{"type":"badgesCreateInput","kind":"object","isRequired":true,"isList":false}]}],"outputType":{"type":"badges","kind":"object","isRequired":true,"isList":false}},{"name":"deleteOnebadges","args":[{"name":"where","inputType":[{"type":"badgesWhereUniqueInput","kind":"object","isRequired":true,"isList":false}]}],"outputType":{"type":"badges","kind":"object","isRequired":false,"isList":false}},{"name":"updateOnebadges","args":[{"name":"data","inputType":[{"type":"badgesUpdateInput","kind":"object","isRequired":true,"isList":false}]},{"name":"where","inputType":[{"type":"badgesWhereUniqueInput","kind":"object","isRequired":true,"isList":false}]}],"outputType":{"type":"badges","kind":"object","isRequired":false,"isList":false}},{"name":"upsertOnebadges","args":[{"name":"where","inputType":[{"type":"badgesWhereUniqueInput","kind":"object","isRequired":true,"isList":false}]},{"name":"create","inputType":[{"type":"badgesCreateInput","kind":"object","isRequired":true,"isList":false}]},{"name":"update","inputType":[{"type":"badgesUpdateInput","kind":"object","isRequired":true,"isList":false}]}],"outputType":{"type":"badges","kind":"object","isRequired":true,"isList":false}},{"name":"updateManybadges","args":[{"name":"data","inputType":[{"type":"badgesUpdateManyMutationInput","kind":"object","isRequired":true,"isList":false}]},{"name":"where","inputType":[{"type":"badgesWhereInput","kind":"object","isRequired":false,"isList":false}]}],"outputType":{"type":"BatchPayload","kind":"object","isRequired":true,"isList":false}},{"name":"deleteManybadges","args":[{"name":"where","inputType":[{"type":"badgesWhereInput","kind":"object","isRequired":false,"isList":false}]}],"outputType":{"type":"BatchPayload","kind":"object","isRequired":true,"isList":false}},{"name":"executeRaw","args":[{"name":"query","inputType":[{"type":"String","kind":"scalar","isRequired":true,"isList":false}]},{"name":"parameters","inputType":[{"type":"Json","kind":"scalar","isRequired":false,"isList":false}]}],"outputType":{"type":"Json","kind":"scalar","isRequired":true,"isList":false}}]}],"inputTypes":[{"name":"badgesWhereInput","fields":[{"name":"icon","inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"String"},{"type":"NullableStringFilter","isList":false,"isRequired":false,"kind":"object"},{"type":"null","isList":false,"isRequired":false,"kind":"scalar"}],"isRelationFilter":false},{"name":"id","inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"Int"},{"type":"IntFilter","isList":false,"isRequired":false,"kind":"object"}],"isRelationFilter":false},{"name":"AND","inputType":[{"type":"badgesWhereInput","kind":"object","isRequired":false,"isList":true}],"isRelationFilter":true},{"name":"OR","inputType":[{"type":"badgesWhereInput","kind":"object","isRequired":false,"isList":true}],"isRelationFilter":true},{"name":"NOT","inputType":[{"type":"badgesWhereInput","kind":"object","isRequired":false,"isList":true}],"isRelationFilter":true}],"isWhereType":true,"atLeastOne":false},{"name":"IdCompoundUniqueInput","fields":[{"name":"id","inputType":[{"type":"Int","kind":"scalar","isRequired":true,"isList":false}]}]},{"name":"badgesWhereUniqueInput","fields":[{"name":"id","inputType":[{"type":"Int","kind":"scalar","isRequired":false,"isList":false}]}],"atLeastOne":true},{"name":"badgesCreateInput","fields":[{"name":"icon","inputType":[{"type":"String","kind":"scalar","isRequired":false,"isList":false}]}]},{"name":"badgesUpdateInput","fields":[{"name":"icon","inputType":[{"type":"String","kind":"scalar","isRequired":false,"isList":false}]},{"name":"id","inputType":[{"type":"Int","kind":"scalar","isRequired":false,"isList":false}]}]},{"name":"badgesUpdateManyMutationInput","fields":[{"name":"icon","inputType":[{"type":"String","kind":"scalar","isRequired":false,"isList":false}]},{"name":"id","inputType":[{"type":"Int","kind":"scalar","isRequired":false,"isList":false}]}]},{"name":"NullableStringFilter","fields":[{"name":"equals","isRelationFilter":false,"inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"String"},{"isList":false,"isRequired":false,"kind":"scalar","type":"null"}]},{"name":"not","isRelationFilter":false,"inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"String"},{"isList":false,"isRequired":false,"kind":"scalar","type":"null"},{"isList":false,"isRequired":false,"kind":"scalar","type":"NullableStringFilter"}]},{"name":"in","isRelationFilter":false,"inputType":[{"isList":true,"isRequired":false,"kind":"scalar","type":"String"}]},{"name":"notIn","isRelationFilter":false,"inputType":[{"isList":true,"isRequired":false,"kind":"scalar","type":"String"}]},{"name":"lt","isRelationFilter":false,"inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"String"}]},{"name":"lte","isRelationFilter":false,"inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"String"}]},{"name":"gt","isRelationFilter":false,"inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"String"}]},{"name":"gte","isRelationFilter":false,"inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"String"}]},{"name":"contains","isRelationFilter":false,"inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"String"}]},{"name":"startsWith","isRelationFilter":false,"inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"String"}]},{"name":"endsWith","isRelationFilter":false,"inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"String"}]}],"atLeastOne":false},{"name":"IntFilter","fields":[{"name":"equals","isRelationFilter":false,"inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"Int"}]},{"name":"not","isRelationFilter":false,"inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"Int"},{"isList":false,"isRequired":false,"kind":"scalar","type":"IntFilter"}]},{"name":"in","isRelationFilter":false,"inputType":[{"isList":true,"isRequired":false,"kind":"scalar","type":"Int"}]},{"name":"notIn","isRelationFilter":false,"inputType":[{"isList":true,"isRequired":false,"kind":"scalar","type":"Int"}]},{"name":"lt","isRelationFilter":false,"inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"Int"}]},{"name":"lte","isRelationFilter":false,"inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"Int"}]},{"name":"gt","isRelationFilter":false,"inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"Int"}]},{"name":"gte","isRelationFilter":false,"inputType":[{"isList":false,"isRequired":false,"kind":"scalar","type":"Int"}]}],"atLeastOne":false},{"name":"badgesOrderByInput","atLeastOne":true,"atMostOne":true,"isOrderType":true,"fields":[{"name":"icon","inputType":[{"type":"OrderByArg","isList":false,"isRequired":false,"kind":"enum"}],"isRelationFilter":false},{"name":"id","inputType":[{"type":"OrderByArg","isList":false,"isRequired":false,"kind":"enum"}],"isRelationFilter":false}]}]}}'

@janpio janpio changed the title [Introspection] Postgres @default have type information [Introspection] Postgres @default include type information Mar 10, 2020
@janpio
Copy link
Member Author

janpio commented Mar 10, 2020

Issue is already fixed in alpha 🚀

@janpio janpio closed this as completed Mar 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug/2-confirmed Bug has been reproduced and confirmed. kind/bug A reported bug. topic: introspection
Projects
None yet
Development

No branches or pull requests

3 participants