3

I've been using GraphQL for probably 8 or so months. I've never run into a problem like this before. When I make a change in my datamodel, and run the command which generates a prisma file. I have an existing field in a table which's type is an array of strings, so languages:[String!]. However, in my generated prisma file, I do not see an option to query on languages in my table.

This is not an issue of prisma not generating an update to the file. I have deleted it and it generates the same thing. Furthermore, languages is present in other generated types, just not the ItemDescriptionWhereInput (table name is ItemDescription). Lastly, this field is currently in use, I've updated this field in my API and it works fine. So this seems to be a prisma issue, not something related to my code.

Here is my ItemDescription table:

type ItemDescription {
    id: ID! @unique
    item: ItemData! @relation(name: "ItemDescriptionToItemData")
    languages: [String!]
    description: String
    shootDates: String
    location: String
    productionCompany: String
    assetSource: String
    assetUsageMotion: String
    assetUsageStill: String
    talentUsage: String
    earliestStart: String
    earliestEnd: String
    generalNotes: String
}

Here is the Where input that gets generated by prisma, notice the missing languages here:

input ItemDescriptionWhereInput {
  """Logical AND on all given filters."""
  AND: [ItemDescriptionWhereInput!]

  """Logical OR on all given filters."""
  OR: [ItemDescriptionWhereInput!]

  """Logical NOT on all given filters combined by AND."""
  NOT: [ItemDescriptionWhereInput!]
  id: ID

  """All values that are not equal to given value."""
  id_not: ID

  """All values that are contained in given list."""
  id_in: [ID!]

  """All values that are not contained in given list."""
  id_not_in: [ID!]

  """All values less than the given value."""
  id_lt: ID

  """All values less than or equal the given value."""
  id_lte: ID

  """All values greater than the given value."""
  id_gt: ID

  """All values greater than or equal the given value."""
  id_gte: ID

  """All values containing the given string."""
  id_contains: ID

  """All values not containing the given string."""
  id_not_contains: ID

  """All values starting with the given string."""
  id_starts_with: ID

  """All values not starting with the given string."""
  id_not_starts_with: ID

  """All values ending with the given string."""
  id_ends_with: ID

  """All values not ending with the given string."""
  id_not_ends_with: ID
  description: String

  """All values that are not equal to given value."""
  description_not: String

  """All values that are contained in given list."""
  description_in: [String!]

  """All values that are not contained in given list."""
  description_not_in: [String!]

  """All values less than the given value."""
  description_lt: String

  """All values less than or equal the given value."""
  description_lte: String

  """All values greater than the given value."""
  description_gt: String

  """All values greater than or equal the given value."""
  description_gte: String

  """All values containing the given string."""
  description_contains: String

  """All values not containing the given string."""
  description_not_contains: String

  """All values starting with the given string."""
  description_starts_with: String

  """All values not starting with the given string."""
  description_not_starts_with: String

  """All values ending with the given string."""
  description_ends_with: String

  """All values not ending with the given string."""
  description_not_ends_with: String
  shootDates: String

  """All values that are not equal to given value."""
  shootDates_not: String

  """All values that are contained in given list."""
  shootDates_in: [String!]

  """All values that are not contained in given list."""
  shootDates_not_in: [String!]

  """All values less than the given value."""
  shootDates_lt: String

  """All values less than or equal the given value."""
  shootDates_lte: String

  """All values greater than the given value."""
  shootDates_gt: String

  """All values greater than or equal the given value."""
  shootDates_gte: String

  """All values containing the given string."""
  shootDates_contains: String

  """All values not containing the given string."""
  shootDates_not_contains: String

  """All values starting with the given string."""
  shootDates_starts_with: String

  """All values not starting with the given string."""
  shootDates_not_starts_with: String

  """All values ending with the given string."""
  shootDates_ends_with: String

  """All values not ending with the given string."""
  shootDates_not_ends_with: String
  location: String

  """All values that are not equal to given value."""
  location_not: String

  """All values that are contained in given list."""
  location_in: [String!]

  """All values that are not contained in given list."""
  location_not_in: [String!]

  """All values less than the given value."""
  location_lt: String

  """All values less than or equal the given value."""
  location_lte: String

  """All values greater than the given value."""
  location_gt: String

  """All values greater than or equal the given value."""
  location_gte: String

  """All values containing the given string."""
  location_contains: String

  """All values not containing the given string."""
  location_not_contains: String

  """All values starting with the given string."""
  location_starts_with: String

  """All values not starting with the given string."""
  location_not_starts_with: String

  """All values ending with the given string."""
  location_ends_with: String

  """All values not ending with the given string."""
  location_not_ends_with: String
  productionCompany: String

  """All values that are not equal to given value."""
  productionCompany_not: String

  """All values that are contained in given list."""
  productionCompany_in: [String!]

  """All values that are not contained in given list."""
  productionCompany_not_in: [String!]

  """All values less than the given value."""
  productionCompany_lt: String

  """All values less than or equal the given value."""
  productionCompany_lte: String

  """All values greater than the given value."""
  productionCompany_gt: String

  """All values greater than or equal the given value."""
  productionCompany_gte: String

  """All values containing the given string."""
  productionCompany_contains: String

  """All values not containing the given string."""
  productionCompany_not_contains: String

  """All values starting with the given string."""
  productionCompany_starts_with: String

  """All values not starting with the given string."""
  productionCompany_not_starts_with: String

  """All values ending with the given string."""
  productionCompany_ends_with: String

  """All values not ending with the given string."""
  productionCompany_not_ends_with: String
  assetSource: String

  """All values that are not equal to given value."""
  assetSource_not: String

  """All values that are contained in given list."""
  assetSource_in: [String!]

  """All values that are not contained in given list."""
  assetSource_not_in: [String!]

  """All values less than the given value."""
  assetSource_lt: String

  """All values less than or equal the given value."""
  assetSource_lte: String

  """All values greater than the given value."""
  assetSource_gt: String

  """All values greater than or equal the given value."""
  assetSource_gte: String

  """All values containing the given string."""
  assetSource_contains: String

  """All values not containing the given string."""
  assetSource_not_contains: String

  """All values starting with the given string."""
  assetSource_starts_with: String

  """All values not starting with the given string."""
  assetSource_not_starts_with: String

  """All values ending with the given string."""
  assetSource_ends_with: String

  """All values not ending with the given string."""
  assetSource_not_ends_with: String
  assetUsageMotion: String

  """All values that are not equal to given value."""
  assetUsageMotion_not: String

  """All values that are contained in given list."""
  assetUsageMotion_in: [String!]

  """All values that are not contained in given list."""
  assetUsageMotion_not_in: [String!]

  """All values less than the given value."""
  assetUsageMotion_lt: String

  """All values less than or equal the given value."""
  assetUsageMotion_lte: String

  """All values greater than the given value."""
  assetUsageMotion_gt: String

  """All values greater than or equal the given value."""
  assetUsageMotion_gte: String

  """All values containing the given string."""
  assetUsageMotion_contains: String

  """All values not containing the given string."""
  assetUsageMotion_not_contains: String

  """All values starting with the given string."""
  assetUsageMotion_starts_with: String

  """All values not starting with the given string."""
  assetUsageMotion_not_starts_with: String

  """All values ending with the given string."""
  assetUsageMotion_ends_with: String

  """All values not ending with the given string."""
  assetUsageMotion_not_ends_with: String
  assetUsageStill: String

  """All values that are not equal to given value."""
  assetUsageStill_not: String

  """All values that are contained in given list."""
  assetUsageStill_in: [String!]

  """All values that are not contained in given list."""
  assetUsageStill_not_in: [String!]

  """All values less than the given value."""
  assetUsageStill_lt: String

  """All values less than or equal the given value."""
  assetUsageStill_lte: String

  """All values greater than the given value."""
  assetUsageStill_gt: String

  """All values greater than or equal the given value."""
  assetUsageStill_gte: String

  """All values containing the given string."""
  assetUsageStill_contains: String

  """All values not containing the given string."""
  assetUsageStill_not_contains: String

  """All values starting with the given string."""
  assetUsageStill_starts_with: String

  """All values not starting with the given string."""
  assetUsageStill_not_starts_with: String

  """All values ending with the given string."""
  assetUsageStill_ends_with: String

  """All values not ending with the given string."""
  assetUsageStill_not_ends_with: String
  talentUsage: String

  """All values that are not equal to given value."""
  talentUsage_not: String

  """All values that are contained in given list."""
  talentUsage_in: [String!]

  """All values that are not contained in given list."""
  talentUsage_not_in: [String!]

  """All values less than the given value."""
  talentUsage_lt: String

  """All values less than or equal the given value."""
  talentUsage_lte: String

  """All values greater than the given value."""
  talentUsage_gt: String

  """All values greater than or equal the given value."""
  talentUsage_gte: String

  """All values containing the given string."""
  talentUsage_contains: String

  """All values not containing the given string."""
  talentUsage_not_contains: String

  """All values starting with the given string."""
  talentUsage_starts_with: String

  """All values not starting with the given string."""
  talentUsage_not_starts_with: String

  """All values ending with the given string."""
  talentUsage_ends_with: String

  """All values not ending with the given string."""
  talentUsage_not_ends_with: String
  earliestStart: String

  """All values that are not equal to given value."""
  earliestStart_not: String

  """All values that are contained in given list."""
  earliestStart_in: [String!]

  """All values that are not contained in given list."""
  earliestStart_not_in: [String!]

  """All values less than the given value."""
  earliestStart_lt: String

  """All values less than or equal the given value."""
  earliestStart_lte: String

  """All values greater than the given value."""
  earliestStart_gt: String

  """All values greater than or equal the given value."""
  earliestStart_gte: String

  """All values containing the given string."""
  earliestStart_contains: String

  """All values not containing the given string."""
  earliestStart_not_contains: String

  """All values starting with the given string."""
  earliestStart_starts_with: String

  """All values not starting with the given string."""
  earliestStart_not_starts_with: String

  """All values ending with the given string."""
  earliestStart_ends_with: String

  """All values not ending with the given string."""
  earliestStart_not_ends_with: String
  earliestEnd: String

  """All values that are not equal to given value."""
  earliestEnd_not: String

  """All values that are contained in given list."""
  earliestEnd_in: [String!]

  """All values that are not contained in given list."""
  earliestEnd_not_in: [String!]

  """All values less than the given value."""
  earliestEnd_lt: String

  """All values less than or equal the given value."""
  earliestEnd_lte: String

  """All values greater than the given value."""
  earliestEnd_gt: String

  """All values greater than or equal the given value."""
  earliestEnd_gte: String

  """All values containing the given string."""
  earliestEnd_contains: String

  """All values not containing the given string."""
  earliestEnd_not_contains: String

  """All values starting with the given string."""
  earliestEnd_starts_with: String

  """All values not starting with the given string."""
  earliestEnd_not_starts_with: String

  """All values ending with the given string."""
  earliestEnd_ends_with: String

  """All values not ending with the given string."""
  earliestEnd_not_ends_with: String
  generalNotes: String

  """All values that are not equal to given value."""
  generalNotes_not: String

  """All values that are contained in given list."""
  generalNotes_in: [String!]

  """All values that are not contained in given list."""
  generalNotes_not_in: [String!]

  """All values less than the given value."""
  generalNotes_lt: String

  """All values less than or equal the given value."""
  generalNotes_lte: String

  """All values greater than the given value."""
  generalNotes_gt: String

  """All values greater than or equal the given value."""
  generalNotes_gte: String

  """All values containing the given string."""
  generalNotes_contains: String

  """All values not containing the given string."""
  generalNotes_not_contains: String

  """All values starting with the given string."""
  generalNotes_starts_with: String

  """All values not starting with the given string."""
  generalNotes_not_starts_with: String

  """All values ending with the given string."""
  generalNotes_ends_with: String

  """All values not ending with the given string."""
  generalNotes_not_ends_with: String
  item: ItemDataWhereInput
}

Also to prove this has nothing to do with prisma not updating my generated file, here's another type that prisma generated from this same table ItemDescription

input ItemDescriptionUpdateWithoutItemDataInput {
  description: String
  shootDates: String
  location: String
  productionCompany: String
  assetSource: String
  assetUsageMotion: String
  assetUsageStill: String
  talentUsage: String
  earliestStart: String
  earliestEnd: String
  generalNotes: String
  languages: ItemDescriptionUpdatelanguagesInput
}

So my question is, why is prisma not generating a whereinput that includes a value with a type of array of strings? I have no way to query on this now.

The Hubba
  • 43
  • 1
  • 2
  • 5
  • Yep it even seems like it doesnt generate this for any basic types like `string` or `int` which makes having these types completey useless if you have an array, whats the point of having data you cant query? Good job prisma. Now I have to redo the work to make a new table just to hold a string so I can actually query it. – The Hubba Apr 10 '19 at 17:06

0 Answers0