Laboratory

ORM에서 type이 바뀌면 DB에서 Data가 유지될까?

egas 2021. 7. 1. 17:15

실험 환경

  • DB: postgreSQL
  • ORM: typeorm (GraphQL)

 

코드

  • 타입 변경전
import { ObjectType, Field } from '@nestjs/graphql';
import { Entity, PrimaryGeneratedColumn, Column, BaseEntity } from 'typeorm';

@ObjectType()
@Entity('user')
export class User extends BaseEntity {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ length: 32 })
  @Field()
  username: string;

  @Column({ unique: true })
  @Field()
  email: string;

  @Column()
  @Field()
  password: string;

  @Column({ default: '' })
  @Field()
  imageLink: string;
}

 

  • 타입 변경 후
import { ObjectType, Field } from '@nestjs/graphql';
import { Entity, PrimaryGeneratedColumn, Column, BaseEntity } from 'typeorm';

@ObjectType()
@Entity('user')
export class User extends BaseEntity {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ length: 32 })
  @Field()
  username: string;

  @Column({ unique: true })
  @Field()
  email: string;

  @Column({ default: 7 })
  @Field()
  password: number;

  @Column({ default: '' })
  @Field()
  imageLink: string;
}

 

실험 결과

Data는 유지됐다. Column이 삭제되고 새로 추가됐으며, default 값인 7로 초기화 된 것을 볼 수 있다. default 값의 중요성을 느낀 실험이었다.

728x90