И вот ты пишешь "добавляю картинку к посту. ". То есть в единственном числе (то есть один-к-одному). А схему какую пишешь? https://github.com/linklib/gribok-prisma/blob/7601402a1362dc6172f26d712f765dc9a62f51d2/prisma/schema.prisma#L131
model Post { id String @id @default(cuid()) @db.VarChar(32) ... Files File[] }
А прописал множественную (то есть один-ко-многим). В твоем случае даже при множественном, твоя схема не очень удачная.
model File { id String @id @default(cuid()) @db.VarChar(32) ... postId String? @db.VarChar(32) Post Post? @relation(fields: [postId], references: [id]) }
Таким образом ты завязал файл на посте, а не пост на файле. Улавливай разницу. Здесь речь о первоисточниках. Если ты в дальнейшем будешь картинки добавлять к грибам, лайкам и т.п., ты для всех этих типов будешь прописывать ключи в объект картинки? Что в таком случае получится? Можно будет загрузить картинку, которая одновременно относится к посту, грибу, лайку и еще к чему-то? Ведь технически это будет возможно. (Хотя и в другом случае тоже можно будет, но не буду в дебри лезть).

В твоем случае, если бы ты хотел сделать одну картинку на одну публикацию, то надо было ссылку на картинку писать в самом посте, а не в картинке. А если ты хочешь много картинок для поста, то правильней завести связующий тип PostImage, у которого два ключа: ссылка на пост и ссылка на картинку. А схема такая:
type Post { PostImages: PostImage[] }