ORM 테이블 생성
안녕하세요
nest로 개발을 진행하다가 fast API로 전향하려는 개발자 입니다.
저와 같은 경우는, TypeORM을 사용하고 있었습니다.
TypeORM은 아래 코드와 같이 DB와 연결해 놓고 @Entity 어노테이션을 사용하면 테이블이 자동 생성됩니다.
강의를 보면 테이블을 생성하는 쿼리를 console로 만들어서 DB SQL에 직접 작성하는 것으로 확인됩니다.
FAST API는 NEST처럼 테이블이 자동 생성되는 기능이 없는 걸까요??
또한 @ManyToMany @ManyToOne과 같은 어노테이션을 사용하면 연관관계가 쉽게 맵핑되어
별도의 join 쿼리 없이도 조회,수정,삭제가 가능합니다.
이러한 부분 또한 FAST API는 지원하는 기능이 없는 걸까요??
import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
@Entity()
export class PostsModel {
@PrimaryGeneratedColumn() //알아서 값을 1씩 증가하는 것을 만들어 준다.
id: number;
@Column()
author: string;
@Column()
title: string;
@Column()
content: string;
@Column()
likeCount: number;
@Column()
commentCount: number;
}
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { PostsModule } from './posts/posts.module';
import { TypeOrmModule } from '@nestjs/typeorm';
@Module({
imports: [
PostsModule,
TypeOrmModule.forRoot({
//forRoot -> typeOrm과 nestJs을 연결할 수 있는 연결고리를 만드는 것
type: 'postgres',
host: '127.0.0.1',
port: 5432,
username: 'postgres',
password: 'postgres',
database: 'postgres',
entities: [], //데이터베이스와 연동될 모델들
synchronize: true, //nestJS에서 작성하는 typeOrm 코드와 데이터베이스싱크를 자동으로 맞출 것이냐(개발에서는 true, 프로덕션에서는 false)
}),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
답변 1
0
안녕하세요, sqlachemy를 사용할 때는 alembic이라는 DB 마이그레이션 툴을 이용해서 ORM으로 정의한 코드에 맞는 스키마 변경 사항을 명령어를 통해 손쉽게 조작할 수 있습니다.
다양한 테이블 연관 관계 매핑은 relationship을 이용해서 하는데, 이번 강의에서는 모든 경우를 상세하게 다루지는 못했네요.
FasAPI Swagger UI에서 단일조회 todo_id 를 사용했는데, 입력값에 1을 넣으니 오류가 뜹니다 ㅠ
0
86
2
DB 질문
0
80
2
Post API 강의 질문
0
54
2
post 작성 오류
0
106
3
uvicorn 종료 문제
0
435
2
왜 return타입이 ToDo라는 스트링인가요?
0
130
2
ORM 연관관계
0
109
2
Oracle DB 연결과 관련해 질문이 있습니다..
0
153
2
섹션 2, 3의 PATCH API의 차이점
0
132
1
테스트 코드 오류
0
177
1
orm relationship 정의 중 해당 에러 발생 시 어떻게 고쳐야 하는걸까요
0
214
3
FastAPI 폴더 구조에 대해 질문이 있습니다.
0
407
2
질문 있습니다.
0
160
2
ORM 개념
0
133
1
mysql root 비밀번호 변경관련
0
294
2
[질문] patch API
0
151
3
디자인 패턴
0
128
1
main.py 리로드문제
0
235
2
인터프리터 오류
0
285
4
로그 저장에 대한 질문입니다.
0
100
1
Internal Server Error
0
239
2
PATCH API - 수정
0
198
2
파이참 임포트 문제
0
259
1
INFO sqlalchemy.engine.Engine ROLLBACK
0
215
1





