#javascript #node.js #postgresql #graphql #typeorm
#javascript #node.js #postgresql #graphql #типоорм #typeorm
Вопрос:
Сообщение об ошибке при попытке создать сообщение из GraphQL, по-видимому, это синтаксическая ошибка, и я не слишком знаком с SQL, поэтому я не знаю, в чем ошибка. Я также использую TypeORM, поэтому я не знаю, как здесь может возникнуть синтаксическая ошибка.
"query": "INSERT INTO "post"("title", "text", "points", "creatorId", "createdAt", "updatedAt") VALUES ($1, $2, DEFAULT, DEFAULT, Sat Sep 05 2020 15:49:01 GMT 0200 (Central European Summer Time), Sat Sep 05 2020 15:49:01 GMT 0200 (Central European Summer Time)) RETURNING "id", "points", "createdAt", "updatedAt"",
и это сообщение об ошибке:
«сообщение»: «синтаксическая ошибка на или около «Sep»»,
Ошибка возникает при использовании INSERT INTO, и в ошибке говорится, что это происходит при слове «Sep», поэтому, по-видимому, что-то не так с датой или чем-то еще, хотя я не понимаю, какой в этом смысл.
Это преобразователь post
@ObjectType()
@Entity()
export class Post extends BaseEntity {
@Field()
@PrimaryGeneratedColumn()
id!: number;
@Field()
@Column()
title!: string;
@Field()
@Column()
text!: string;
@Field()
@Column({ type: "int", default: 0})
points!: string;
@Field()
@Column()
creatorId: number;
@ManyToOne(() => User, (user) => user.posts)
creator: User;
@Field(() => String)
@CreateDateColumn()
createdAt = Date;
@Field(() => String)
@UpdateDateColumn()
updatedAt = Date;
}
Это мутация
@Mutation(() => Post)
async createPost(@Arg("input") input: PostInput,
@Ctx() {req}: MyContext): Promise<Post> {
return Post.create({
...input,
creatorId: req.session!.userId,
}).save();
}
Ответ №1:
Кажется, вы допустили опечатку в своем коде объекта :
@Field(() => String)
@CreateDateColumn()
createdAt : Date; //replace = with :
@Field(() => String)
@UpdateDateColumn()
updatedAt : Date; //replace = with :