inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! FastAPI 입문

ORM 테이블 생성

해결된 질문

119

Full Stack 개발자

작성한 질문수 39

0

안녕하세요

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 {}

 

python 리팩토링 orm FastAPI pytest

답변 1

0

신동현

안녕하세요, sqlachemy를 사용할 때는 alembic이라는 DB 마이그레이션 툴을 이용해서 ORM으로 정의한 코드에 맞는 스키마 변경 사항을 명령어를 통해 손쉽게 조작할 수 있습니다.

다양한 테이블 연관 관계 매핑은 relationship을 이용해서 하는데, 이번 강의에서는 모든 경우를 상세하게 다루지는 못했네요.

 

0

Full Stack 개발자

혹시 추후에 좀 더 심화된 강의를 만드실 예정이 있으신가요??

1

신동현

네, 강의 리뉴얼 및 심화 내용까지 다루는 강의를 기획 중인데 현재 다른 강의 제작 중이라 세부 일정은 아직 미정입니다..!

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