fastify-prisma-rest-api icon indicating copy to clipboard operation
fastify-prisma-rest-api copied to clipboard

FastifyError: Schema with id 'Schema' already declared!

Open immohanravi opened this issue 3 years ago • 2 comments

hi, First of all, the video is great I have learned a lot, thank you so much.

Looks like there is something has changed in fastify, i have followed your tutorial video everything went great up until I add product.schema to addschema() function in fastify app.ts file. I am getting the below error.

(node:27437) [FST_MODULE_DEP_FASTIFY-JWT] FastifyWarning.fastify-jwt: fastify-jwt has been deprecated. Use @fastify/[email protected] instead. (Use node --trace-warnings ... to show where the warning was created) FastifyError: Schema with id 'Schema' already declared! at Schemas.add (/home/mohan/Programming/fastify/tutorial/node_modules/fastify/lib/schemas.js:33:11) at SchemaController.add (/home/mohan/Programming/fastify/tutorial/node_modules/fastify/lib/schema-controller.js:62:30) at Object.addSchema (/home/mohan/Programming/fastify/tutorial/node_modules/fastify/fastify.js:606:29) at /home/mohan/Programming/fastify/tutorial/src/app.ts:39:16 at Generator.next (<anonymous>) at /home/mohan/Programming/fastify/tutorial/src/app.ts:8:71 at new Promise (<anonymous>) at __awaiter (/home/mohan/Programming/fastify/tutorial/src/app.ts:4:12) at main (/home/mohan/Programming/fastify/tutorial/src/app.ts:41:12) at Object.<anonymous> (/home/mohan/Programming/fastify/tutorial/src/app.ts:56:1) [ERROR] 21:10:41 FastifyError: Schema with id 'Schema' already declared! Child got SIGTERM, exiting.

Error is because of that id, see below console.log of schema

Screenshot_20221020_212101

I have no idea how to solve it, I thought I made some error but the same problem persist even when I clone and run this project. please have a look

immohanravi avatar Oct 20 '22 15:10 immohanravi

You can specify a unique $id for each schemas export const { schemas: userSchemas, $ref } = buildJsonSchemas( { registerSchema, registerResponseSchema, loginSchema, loginResponseSchema, getUsersResponseSchema, }, { $id: "UserSchema", } );

export const { schemas: postSchemas, $ref } = buildJsonSchemas( { createPostSchema, postResponseSchema, postsResponseSchema, }, { $id: "PostSchema", } );

I think it's not post but product in the tutorial but it's the same idea

RomainMarcazzan avatar Nov 16 '22 16:11 RomainMarcazzan

I too had the same problem. I was keying along with Tom and then halfway through I got the same error. I suspect it was something I keyed in wrong. I cloned the repo and everything executed as expected.

cwgabel avatar Jul 31 '23 04:07 cwgabel