작성
·
356
0
NestJS + TypeOrm을 통해서 데이터베이스(mysql)에 데이터를 Insert하는데 있어 질문 드립니다 (구글링을 해보았지만 TypeOrm의 업데이트가 되서 안먹히는건지, 제가 방법을 잘못활용하고 있는건지 모르겠습니다 / 공식문서대로 해봐도 안되네요 ㅜㅠ)
하고자 하는것
데이터 Insert시 CreatedAt과 UpdatedAt을 자동적으로 같이 입력되도록 하는것
문제점
둘다 null값으로 입력됨
3. 파일
group.ts -> typeorm의 entity파일
@Entity 데코레이터로 정의
4. 시도해본 것
공식문서
@CreateDataColumn() => null로 나옴
@CreateDataColumn({default() => CURRENT_TIMESTAMP(6)})
@Column({{default() => CURRENT_TIMESTAMP(6)})
=> null로 나옴
default: Date.now() => null로 나옴
createdAt의 타입문제인가싶어 타입도 any로 해서 진행해봄
아래는 필요한 소스코드 일부를 발췌했습니다
=================
import {
BaseEntity,
Column,
CreateDateColumn,
Entity,
Index,
JoinColumn,
ManyToOne,
OneToMany,
PrimaryGeneratedColumn,
UpdateDateColumn,
} from 'typeorm';
import { Appliers } from './Appliers';
import { Comments } from './Comments';
import { Users } from './Users';
@Index('FK_Users_TO_Groups_1', ['userId'], {})
@Entity('Groups', { schema: 'erunjrun' })
export class Groups extends BaseEntity {
@CreateDateColumn()
createdAt: any;
}
답변 1
0
안녕하세요 :)
답변 드립니다. 더 궁금하신 점 있으시면 언제든지 답글 달아주세요!
@CreateDateColumn() {
createdAt: any;
}
부분에 기본값을 넣어주셔야 합니다.
@CreateDateColumn({ type: "timestamp", default: () => "CURRENT_TIMESTAMP(6)" })
@UpdateDateColumn({ type: "timestamp", default: () => "CURRENT_TIMESTAMP(6)", onUpdate: "CURRENT_TIMESTAMP(6)" })