반응형
TypeORM 사용시 Entity 파일을 자동으로 생성해주는 tool이 있습니다.
바로 typeorm-model-generator 입니다.
이 tool을 사용하면 테이블을 참조하여 손쉽게 entity 파일을 만들 수 있습니다.
typeorm-model-generator에 대한 자세한 설명은 아래 링크에서 확인하실 수 있습니다.
https://www.npmjs.com/package/typeorm-model-generator
typeorm-model-generator는 아래와 같이 여러 db engine을 지원합니다.
- Microsoft SQL Server
- PostgreSQL
- MySQL
- MariaDB
- Oracle Database
- SQLite
우선 typeorm-model-generator를 설치합니다.
npm i -g typeorm-model-generator
사용법은 다음과 같습니다.
Usage: typeorm-model-generator -h <host> -d <database> -p [port] -u <user> -x
[password] -e [engine]
Options:
--help Show help [boolean]
--version Show version number [boolean]
-h, --host IP address/Hostname for database server
[default: "127.0.0.1"]
-d, --database Database name(or path for sqlite) [required]
-u, --user Username for database server
-x, --pass Password for database server [default: ""]
-p, --port Port number for database server
-e, --engine Database engine
[choices: "mssql", "postgres", "mysql", "mariadb", "oracle", "sqlite"]
[default: "mssql"]
-o, --output Where to place generated models
[default: "./output"]
-s, --schema Schema name to create model from. Only for mssql
and postgres. You can pass multiple values
separated by comma eg. -s scheme1,scheme2,scheme3
--ssl [boolean] [default: false]
예를 들면 다음과 같습니다.
typeorm-model-generator -h localhost -d test -p 3306 -u root -x root -e mysql -o ./generated_models
옵션 사용법은 다음과 같습니다.
- -h : 테이터베이스 호스트 IP (localhost)
- -d : 데이터베이스 이름 (test)
- -p : 데이터베이스 포트 (3306)
- -u : 데이터베이스 username (root)
- -x : 데이터베이스 password (root)
- -e : 데이터베이스 engine (mysql)
- 마지막은 파일 생성위치입니다(./generated_models)
실행하면 아래와 같이 entity 파일이 생성 됩니다.
- 폴더 : generated_models/entities/Cat.ts
import { Column, Entity, PrimaryGeneratedColumn } from "typeorm";
@Entity("cat", { schema: "test" })
export class Cat {
@PrimaryGeneratedColumn({ type: "int", name: "id" })
id: number;
@Column("varchar", { name: "name", comment: "고양이 이름", length: 255 })
name: string;
@Column("int", { name: "age", comment: "고양이 나이" })
age: number;
@Column("varchar", { name: "breed", comment: "고양이 종류", length: 255 })
breed: string;
}
typeorm-model-generator를 사용해 좀 더 빠르고 편한 개발 생활 되시길 바랍니다.
반응형
'TypeORM' 카테고리의 다른 글
[Nestjs] TypeORM Multiple Database Connection 설정 후 DataSource 사용법 (0) | 2024.09.20 |
---|---|
3. TypeORM에서 Repository의 개념 이해하기 (0) | 2023.09.12 |
2. TypeORM 사용법 기초 (2023, NestJS) (2) | 2023.05.07 |
1. TypeORM 개념과 셋팅 (2023, NestJS) (0) | 2023.05.05 |