DDL 작성 및 Entity 작성
DDL 작성
형상 관리를 위하여 아래의 파일에 DDL을 추가 작성합니다.
docker/ddl/1_init_ddl.sql
/*
user table
*/
DROP TABLE IF EXISTS _user;
CREATE TABLE IF NOT EXISTS _user (
`id` INT PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT 'id',
`account` VARCHAR(255) UNIQUE NOT NULL COMMENT 'account',
`password` VARCHAR(255) NOT NULL COMMENT 'password',
`username` VARCHAR(255) NOT NULL COMMENT 'username',
`role` INT DEFAULT 0 COMMENT 'role',
`created_at` DATETIME DEFAULT now() COMMENT 'create time',
`updated_at` DATETIME DEFAULT NULL COMMENT 'update time',
`deleted_at` DATETIME DEFAULT NULL COMMENT 'delete time'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT="user";
DDL 반영
DDL을 반영하는 방법은 두가지 방법이 있습니다.
데이터베이스에 접속하여 위 DDL을 실행합니다.
docker container를 삭제한 후 다시 docker container를 생성하여도 됩니다.

Entity 작성
백엔드 디렉토리로 이동합니다.
cd backend
typeorm-model-generator를 사용하여 entity를 일괄 생성합니다.
typeorm-model-generator -h localhost -d develop -p 4001 -u docker -x 'docker' -e mysql -o .
backend/ormconfig.json
을 삭제합니다.backend/entities
디렉토리에 있는 entity를 복사하여backend/src/entities
디렉토리에 붙여넣기합니다.backend/entites
디렉토리를 삭제합니다복사한 entity의 파일명을 네이밍 컨벤션에 맞게 변경합니다.
Date 타입에 string을 추가해줍니다
@Column("datetime", {
name: "created_at",
nullable: true,
comment: "create time",
default: () => "CURRENT_TIMESTAMP",
})
createdAt: string | Date | null;
@Column("datetime", {
name: "updated_at",
nullable: true,
comment: "update time",
})
updatedAt: string | Date | null;
@Column("datetime", {
name: "deleted_at",
nullable: true,
comment: "delete time",
})
deletedAt: string | Date | null;
파일을 저장하여 prettier 포맷팅을 적용하면서 저장합니다.
Last updated