Relation 테이블 관련 에러
496
작성한 질문수 5
Movie, User 테이블하고 many-to-many 로 만든 Favorite 테이블이 있는데
Favorite 테이블에 저장하려고 할 때 이런 에러가 납니다.
query failed: INSERT INTO `favorite`(`id`, `userId`, `movieId`) VALUES (DEFAULT, DEFAULT, DEFAULT)
error: Error: Unknown column 'id' in 'field list'
query: ROLLBACK
[Nest] 782975 - 04/08/2023, 6:59:26 PM ERROR [ExceptionsHandler] Unknown column 'id' in 'field list'
Movie 는 이렇게 만들어져있구요
import { Entity, Column, PrimaryGeneratedColumn, ManyToMany, JoinTable } from 'typeorm';
import { User } from '../users/users.entity';
@Entity()
export class Movie {
@PrimaryGeneratedColumn()
readonly id: number;
@Column({ length: 100 })
title: string;
@Column('text', { nullable: true })
desc: string;
@ManyToMany(() => User, (user) => user.favorites)
@JoinTable({ name: 'favorite' })
favorites: User[];
}User 는
import { Entity, Column, PrimaryGeneratedColumn, ManyToMany, JoinTable } from 'typeorm';
import { Movie } from '../movies/movies.entity';
@Entity()
export class User {
@PrimaryGeneratedColumn()
readonly id: number;
@Column()
username: string;
@ManyToMany(() => Movie)
@JoinTable({ name: 'favorite' })
favorites: Movie[];
}그리고 Favorite 은
import { Entity, ManyToOne, PrimaryGeneratedColumn } from 'typeorm';
import { User } from '../users/users.entity';
import { Movie } from '../movies/movies.entity';
@Entity()
export class Favorite {
@PrimaryGeneratedColumn()
id: number;
@ManyToOne(() => User, (user) => user.favorites)
user: User;
@ManyToOne(() => Movie, (movie) => movie.favorites)
movie: Movie;
}
그런데 DB 를 보면 Favotie 테이블에 id 칼럼이 없습니다.
그래서 favoriteRepository.save() 할때 에러가 난다고 의심하고 있는데요, favorites.service.ts는
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { Favorite } from './favorites.entity';
@Injectable()
export class FavoritesService {
constructor(
@InjectRepository(Favorite)
private readonly favoriteRepository: Repository<Favorite>,
) {}
async create(userId: number, movieId: number): Promise<Favorite> {
const favorite = new Favorite();
favorite.user = { id: userId } as any;
favorite.movie = { id: movieId } as any;
return await this.favoriteRepository.save(favorite);
}
}이렇게 되어있습니다.
어디를 고쳐야 하는걸까요?
답변 1
강의자료는 어디서 다운받나요?
0
119
4
질문 있습니다.
0
300
3
(강의 5:42 질문) providers를 통한 여러 개의 인스턴스 생성 & exports 통한 싱글톤 생성
0
154
2
코드 편집기 확장 프로그램
0
210
2
(질문)비밀 저장소에 접근하기 위한 인증 정보는 로컬 .env에 저장하는지?
0
148
2
(질문)외부 저장소를 통한 환경변수 불러오기 비동기 질문
0
170
3
로그인을 해도 LoggedInGuard쪽에서 false값이 나옵니다.
0
152
2
로그인방법이 고민됩니다.
0
191
2
yarn seed 명령어 실행 시 데이터 삽입 안됨
0
297
4
yarn run db:create 시에 발생하는 데코레이터 오류
0
243
2
npm run db:create 시에 발생하는 decorating 오류
0
235
2
RxJS 디버깅 질문 있습니다.
0
190
3
CacheManager에 대해 질문 있습니다.
0
176
2
로깅은 어떻게 하는게 효율적일까요?
0
226
1
CORS 질문 있습니다.
0
418
2
쿠키 옵션에 대해서 질문 있습니다.
0
185
2
로그아웃 요청이 403 forbidden 에러가 나는데 왜그런걸까요??
0
450
1
401 unauthorized문제
0
289
1
가드의 장점에 대해서 질문이 있습니다.
0
225
1
로그 관리에 대해 질문 있습니다.
0
252
2
CORS 에러 질문 있습니다.
0
319
2
배포 환경 DB 연결 질문 있습니다.
0
411
2
socket io 미 연결 문제 (nest & flutter)
1
1156
3
no elements in sequence 에러 관해서 질문이 있습니다.
0
456
1





