Javascript 订阅不适用于Prisma 2和Nexus?

Javascript 订阅不适用于Prisma 2和Nexus?,javascript,graphql,prisma,prisma-graphql,nexus-prisma,Javascript,Graphql,Prisma,Prisma Graphql,Nexus Prisma,Nexus的订阅没有文档记录,但我搜索了Github并尝试了书中的每一个例子。这对我不起作用 我已克隆了以下文件(&I): prisma/schema.prisma src/index.js const{GraphQLServer}=require('graphql-yoga')) const{join}=require('path') const{makeSchema,objectType,idArg,stringArg,subscriptionField}=require(“@prisma/

Nexus的订阅没有文档记录,但我搜索了Github并尝试了书中的每一个例子。这对我不起作用

我已克隆了以下文件(&I):

prisma/schema.prisma src/index.js
const{GraphQLServer}=require('graphql-yoga'))
const{join}=require('path')
const{makeSchema,objectType,idArg,stringArg,subscriptionField}=require(“@prisma/nexus”)
常量光子=需要(“@generated/Photon”)
const{nexusPrismaPlugin}=require(“@generated/nexus prisma”)
常数光子=新光子()
常数nexusPrisma=nexusprismapplugin({
光子:ctx=>ctx.photon,
})
常量攻击=对象类型({
名称:“攻击”,
定义(t){
t、 model.id()
t、 model.name()
t、 模型损坏()
}
})
const pokemonatck=objectType({
名称:“口袋妖怪”,
定义(t){
t、 model.id()
t、 模型.特殊()
}
})
const Pokemon=objectType({
名称:“口袋妖怪”,
定义(t){
t、 model.id()
t、 型号编号()
t、 model.name()
t、 model.attacks()
}
})
const Query=objectType({
名称:“查询”,
定义(t){
t、 克鲁德·芬德曼尼口袋妖怪({
别名:“口袋妖怪”
})
t、 list.field('pokemon'{
键入:“口袋妖怪”,
args:{
名称:stringArg(),
},
解析:(父,{name},ctx)=>{
返回ctx.photon.pokemon.findMany({
其中:{
名称
}
})
},
})
},
})
常量突变=对象类型({
名称:'突变',
定义(t){
t、 crud.createOnePokemon({alias:'addPokemon'})
},
})
const Subscription=subscriptionField('newPokemon'{
键入:“口袋妖怪”,
订阅:(父级、参数、ctx)=>{
返回ctx.photon.$subscribe.pokemon()
},
解析:有效负载=>有效负载
})
const schema=makeSchema({
类型:[查询、变异、订阅、口袋妖怪、攻击、口袋妖怪、nexusPrisma],
产出:{
schema:join(uu dirname,“/schema.graphql”)
},
typegenAutoConfig:{
资料来源:[
{
来源:“@generated/photon”,
别名:“光子”,
},
],
},
})
const server=new GraphQLServer({
模式,
上下文:请求=>{
返回{
要求
光子,
}
},
})

server.start(()=>console.log(`订阅尚未实现

我已经打开了追踪它的窗口


在Prisma 2中实现后,我将立即编辑此答案。

尽管未实现订阅,但我似乎已经实现了此功能。我有一个基于Prisma 2样板文件和Ben Awad视频教程的工作pubsub概念验证。应该能够使用redis和WebSocket来处理订阅直到prisma2版本准备就绪


我想我会在添加订阅时添加答案,但我会添加编辑作为答案:)哦,是的,我在GitHub上看到了你的问题。我已经订阅了这个问题。我认为订阅现在只适用于Pub/Sub模式,这有点黑客。我和团队闲聊过&他们说它甚至还没有被指定,所以我们必须等待。直到那时没有实时:)是的,我很乐意用PubSub来填满这个空间,直到他们有其他的东西。
datasource db {
  provider = "sqlite"
  url      = "file:dev.db"
  default  = true
}

generator photon {
  provider = "photonjs"
}

generator nexus_prisma {
  provider = "nexus-prisma"
}

model Pokemon {
  id      String         @default(cuid()) @id @unique
  number  Int            @unique
  name    String
  attacks PokemonAttack?
}

model PokemonAttack {
  id      Int      @id
  special Attack[]
}

model Attack {
  id     Int    @id
  name   String
  damage String
}