#Creating an unique key will change my query definition?

3 messages · Page 1 of 1 (latest)

silver ridge
#

model BibleBook {
id Int @id @default(autoincrement())
book String @unique
abbrev String @unique
verses BibleVerse[]
}

model BibleVerse {
id Int @id @default(autoincrement())
chapterId Int
verseId Int
verse String @db.Text
bibleBookId Int
bibleBook BibleBook? @relation(fields: [bibleBookId], references: [id], onDelete: Cascade, onUpdate: Cascade)
...
// @@unique([bibleBookId,chapterId,verseId], name: "uniqueVerse")

@@index([bibleBookId])
}

const BibleVerseRangeInput = builder.inputType('BibleVerseRange', {
fields: (t) => ({
abbrev: t.string({ required: true }),
chapterId: t.int({ required: true }),
idStart: t.int({ required: true }),
idEnd: t.int({ required: true })
}),
});

builder.queryField('BibleVerseRange', t =>
t.prismaField({
type: ['BibleVerse'],
args: {
input: t.arg({ type: BibleVerseRangeInput, required: true }),
},
resolve: async (query, _parent, args, _context, _info) => {
const verses = await prisma.bibleVerse.findMany({
...query,
where: {
bibleBook: {
abbrev: args.input.abbrev
},
chapterId: args.input.chapterId,
verseId: {
gte: args.input.idStart,
lte: args.input.idEnd,
}
},
orderBy: {
verseId: 'asc'
}
});
if (!verses || verses.length === 0) {
throw new Error('No ref');
}
return verses;
}
}));
For now my query definition is working.
If I uncomment the unique key uniqueVerse my query definition has to change?
I am using in my nextjs app: @apollo/client: 3.8.10, @apollo/server": "4.10.0", "@pothos/core": "3.41.0", "@pothos/plugin-prisma": "3.63.1", "@pothos/plugin-relay": "3.45.1", "@prisma/client": "5.8.1", "@prisma/extension-accelerate": "0.6.2"

Thank for any help!

brisk geyser
#

please use code blocks to make this easier to read. wrap your text around three backticks

#

so:
```ts
code here
```