@PrimaryGeneratedColumn()
-> 자동 생성하는 primary 값
@PrimaryColumn()
-> 직접 입력해야하는 primary
Primary에 대해 값이 자동으로 생성되는 값과 직접 입력해야하게 설정하는 어노테이션이 있다.
@PrimaryGeneratedColumn()
// PrimaryGeneratedColumn -> 순서대로 올라간다
//
// // UUID
// // asdf1234-asdfq34t-asdfwherth-asfdf34r
// // 알고리즘을 통해 겹치지 않는 랜덤 값 생성
이번에는 자동으로 생성되지만 순서대로 1부터 +1해서 순서대로 올라가는 PrimaryGeneratedColumn과 UUID를 사용해 수학 알고리즘을 통해 겹치지 않는 랜덤 값을 생성하는 방법도 있다.
// 데이터 생성 일자
@CreateDateColumn()
createdAt: Date;
데이터가 생성되는 날짜와 시간이 자동으로 찍힌다.
// 데이터 업데이트
@UpdateDateColumn()
updatedAt: Date;
데이터가 업데이트되는 날짜와 시간이 자동으로 찍힌다.
@VersionColumn()
version: number;
데이터가 업데이트 될때마다 1씩 올라간다.
처음 생성되는 값은 1이다.
save() 함수가 몇 번 불렸는지 기억한다.
@Column({
type: "text",
데이터베이스에서 인지하는 칼럼 타입이다. 이는 자동으로 유추되지만 원래는 기입할 수 있다.
name: 'title',
데이터베이스 칼럼 이름이며 프로퍼티 이름으로 자동 유추된다.
length: 300,
값의 길이이다. 입력 할 수 있는 글자의 길이라고 생각하면 된다.
nullable: true,
null이 가능한지 기입하는 것이다.
update: true,
true면 처음 저장할 때만 값 지정 가능하다.
이후에는 값 변경 불가능하다.
select : true,
find()를 실행할 때 기본으로 값을 불러올지 설정한다. 기본값이 true다.
default : 'default value',
입력하지 않았을 때 기본 값이다. 지금은 입력하지 않으면 값이 'default value'이 된다.
unique : false,
칼럼 중에서 유일무이한 값이 되어야 하는지 설정한다.
가입할때 아이디나 이메일처럼 유일무이한 값이 되어야 할 때 이를 사용한다.