TypeOrm Entity
Create TypeOrm Entity
엔티티는 데이터베이스 테이블에 매핑되는 클래스 입니다. 새로운 클래스를 정의하고 @Entitiy() 표시로 엔티티를 생성할 수 있습니다.
1 | import {Entity, PrimaryGeneratedColumn, Column} from "typeorm"; |
기본 엔티티는 열과 관계로 구성된다.
각 엔티티는 반드시 주 열을 가져야 하며 각각 연결 옵션에 등록을 해주어야한다.
1 | import {createConnection, Connection} from "typeorm"; |
enttities 에 엔티티를 모두 넣어주는 방식과 엔티티의 전체 디렉토리 경로를 넣어 줄 수도 있다.
1 | import {createConnection, Connection} from "typeorm"; |
열
데이터 베이스 테이블은 열로 구성되었기 때문에 엔티티도 동일하게 열로 구성을 해주어야 한다.
PrimaryColumn
엔티티에는 하나 이상의 기본 열이 있어야 한다.
@PrimaryColumn()모든 유형의 값을 취하는 기본 열을 만든다. 열 유형을 지정할 수 있고. 열 유형을 지정하지 않으면 속성 유형에서 유추 된다. 아래 예제는 int저장하기 전에 수동으로 할당 해야 하는 형식으로 id를 생성 한다.
1 | import {Entity, PrimaryColumn} from "typeorm"; |
@PrimaryGeneratedColumn()값이 자동 증가 값으로 자동 생성되는 기본 열을 만든다.
1 | import {Entity, PrimaryGeneratedColumn} from "typeorm"; |
@PrimaryGeneratedColumn(“uuid”)를 사용하여 값이 자동으로 생성되는 기본 열을 만든다. 이는 고유한 문자열이다.
1 | import {Entity, PrimaryGeneratedColumn} from "typeorm"; |
특정 조건 컬럼
- @CreateDateColumn엔티티의 삽입 날짜로 자동 설정되는 특수 열
- @UpdateDateColumnsave엔티티 관리자 또는 저장소 를 호출 할 때마다 엔티티의 업데이트 시간으로 자동 설정되는 특수 열
- @DeleteDateColumn엔티티 관리자 또는 저장소의 일시 삭제를 호출 할 때마다 엔티티 삭제 시간에 자동으로 설정되는 특수 열
- @VersionColumn엔티티 관리자 또는 저장소를 호출 할 때마다 엔티티의 버전으로 자동 설정되는 특수 열
컬럼 유형
첫 번째 매개 변수로 @Column 또는의 열 옵션에서 열 유형을 지정할 수 있다.
1 | @Column("int") |
or
1 | @Column({ type: "int" }) |
enum 유형
typescript 열거 형 사용
1 | export enum UserRole { |
열거 형 값과 함께 배열 사용
1 | export type UserRoleType = "admin" | "editor" | "ghost", |
열 옵션
- type: ColumnType컬럼 유형. 위에 나열된 유형 중 하나입니다 .
- name: string데이터베이스 테이블의 열 이름. 기본적으로 열 이름은 속성 이름에서 생성됩니다. 자신의 이름을 지정하여 변경할 수 있습니다.
- length: number컬럼 유형의 길이. 예를 들어 varchar(150)유형 을 작성 하려면 열 유형 및 길이 옵션을 지정하십시오.
- width: number열 유형의 표시 너비. MySQL 정수 유형 에만 사용
- onUpdate: string``ON UPDATE방아쇠. MySQL 에서만 사용됩니다 .
- nullable: boolean컬럼 NULL또는 NOT NULL데이터베이스를 만듭니다 . 기본적으로 열은 nullable: false입니다.
- update: boolean“save”조작으로 컬럼 값이 갱신되는지 여부를 나타냅니다. false 인 경우 개체를 처음 삽입 할 때만이 값을 쓸 수 있습니다. 기본값은 true입니다.
- insert: boolean개체를 처음 삽입 할 때 열 값이 설정되었는지 여부를 나타냅니다. 기본값은 true입니다.
- select: boolean질의를 할 때 기본적으로이 열을 숨길 지 여부를 정의합니다. 로 설정 false하면 열 데이터가 표준 쿼리와 함께 표시되지 않습니다. 기본적으로 열은select: true
- default: string데이터베이스 레벨 컬럼의 DEFAULT값을 추가합니다 .
- primary: boolean열을 기본으로 표시합니다. 당신이 사용하는 경우 동일합니다 @PrimaryColumn.
- unique: boolean -열을 고유 한 열로 표시 (고유 제약 조건 생성).
- comment: string데이터베이스의 열 주석. 모든 데이터베이스 유형에서 지원되지는 않습니다.
- precision: number10 진수 (정확한 숫자) 열의 정밀도 (10 진수 열에 만 적용됨)는 값에 대해 저장되는 최대 자릿수입니다. 일부 열 유형에서 사용됩니다.
- scale: number소수점 오른쪽의 자릿수를 나타내며 정밀도보다 클 수없는 소수점 (정확한 숫자) 열 (10 진수 열에 만 적용됨)의 스케일입니다. 일부 열 유형에서 사용됩니다.
- zerofill: boolean``ZEROFILL숫자 열에 속성을 넣습니다 . MySQL에서만 사용됩니다. 인 경우 trueMySQL UNSIGNED은이 열에 속성을 자동으로 추가합니다 .
- unsigned: boolean``UNSIGNED숫자 열에 속성을 넣습니다 . MySQL에서만 사용됩니다.
- charset: string열 문자 집합을 정의합니다. 모든 데이터베이스 유형에서 지원되지는 않습니다.
- collation: string -열 데이터 정렬을 정의합니다.
- enum: string[]|AnyEnum``enum허용되는 열거 형 값 목록을 지정하기 위해 열 유형에 사용됩니다. 값 배열을 지정하거나 열거 형 클래스를 지정할 수 있습니다.
- enumName: string -사용 된 열거 형의 이름을 정의합니다.
- asExpression: string생성 된 컬럼 표현식. MySQL 에서만 사용됩니다 .
- generatedType: “VIRTUAL”|”STORED”생성 된 컬럼 유형. MySQL 에서만 사용됩니다 .
- hstoreType: “object”|”string”``HSTORE열의 유형을 반환합니다 . 값을 문자열 또는 객체로 반환합니다. Postgres 에서만 사용됩니다 .
- array: boolean -배열이 될 수있는 postgres 및 cockroachdb 열 유형에 사용됩니다 (예 : int []).