[TypeORM] Error during Data Source initialization: DataTypeNotSupportedError: Data type "Object" in "User.google" is not supported by "mysql" database.



오류 사진


import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from 'typeorm';
import { Post } from './Post';

@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;

@Column({ unique: true, length: 50 })
email: string;

@Column({ unique: true, nullable: true })
google: string | null;

@Column({ length: 10 })
nickname: string;

@Column({ length: 200 })
password: string;

@Column()
createdAt: Date;

@OneToMany(() => Post, (post) => post.user)
posts: Post[];
}

- 수정 전 -


구글 로그인으로 가입한 사용자 정보를 받는 컬럼에서 오류가 발생했다.

Object 데이터 타입을 받을 수 없다는것인데 찾아보니 유니언 타입(Union type)으로 작성하면 데이터 타입을 Object로 인식하기 때문에 위에서 google: string | null 과 같이 작성하면 안된다고 한다.


import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from 'typeorm';
import { Post } from './Post';

@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;

@Column({ unique: true, length: 50 })
email: string;

@Column({ unique: true, nullable: true })
google?: string;

@Column({ length: 10 })
nickname: string;

@Column({ length: 200 })
password: string;

@Column()
createdAt: Date;

@OneToMany(() => Post, (post) => post.user)
posts: Post[];
}

- 수정 후 -



google?: string 과 같이 옵셔널로 작성해주면 문제가 해결된다.


정상적으로 db생성














댓글