inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

마이그레이션을 통한 데이터베이스 스키마 관리 (2)

이미 반영된 마이그레이션 파일 처리에 대하여

해결된 질문

246

오동통 삽겹살

작성한 질문수 3

1

강사님 안녕하세요.

좋은 강의에 항상 감사하고 있습니다 :)

'서버에 이미 반영된' 마이그레이션 파일에 대해 squashmigrations 명령을 통해 마이그레이션 파일을 축약해도 장고 서버에는 영향이 없지 않나요?

강의 말미에는 미적용 마이그레이션 파일을 대상으로 squashmigrations 명령을 사용할 것을 언급하신 이유가 궁금합니다.

혹시 반영된 마이그레이션 파일에 대한 squashmigrations 명령이 부작용이 있다면, 무수히 많은 마이그레이션 파일이 이미 생성되었고 서버에 모두 반영된 상태라면 이 사태를 정리할 수 있는 방법이 있을까요?ㅎㅎ

강사님의 답변 기다리고 있겠습니다.

감사합니다.

 

python django react docker

답변 1

1

이진석

안녕하세요.

미적용 마이그레이션 파일에 대해서 squashmigrations에 대해서 언급한 것은

하나의 기능을 구현함에 있어서 개발단계에서 다수의 마이그레이션 파일이 생성될 수 있습니다. 이때 다수의 마이그레이션 파일을 그대로 커밋하기보다, 하나의 기능에 대해서는 하나의 마이그레이션 파일로 커밋하는 것이 보다 관리하기 편리하기 때문에 언급을 한 것입니다.

다수의 마이그레이션 파일을 하나의 마이그레이션 파일로 만들기 위해, squashmigrations을 사용할 수도 있겠고, 미적용 마이그레이션 파일들을 삭제하고 다시 makemigrations 을 수행해서 새로이 생성해볼 수도 있을 것입니다.

반영된 마이그레이션에 대해서 squashmigrations하는 것은 별 이슈없이 잘 수행됩니다. 다만 0001 부터 0010 까지를 하나로 합칠 경우, 행여나 중간단계. 예를 들어 0005단계로 rollback을 할 수는 없을 것입니다. 혹은 현 장고 프로젝트가 바라보는 모든 데이터베이스는 0010까지가 필히 적용이 되어있어야겠죠.

그래서 저는 이미 적용된 마이그레이션에 대해서는 굳이 squashmigrations을 하지는 않습니다.

0

오동통 삽겹살

명쾌한 답변 감사합니다!

필요에 따라 migration file 중간에서 롤백을 할 수 있기 때문에 squashmigrations 명령으로 파일을 정리하기 보다는 기능별로 파일을 정리하는 것이 좋다는 말씀이시군요!

이미 적용된 migration file에 대해 squashmigrations을 권장하지 않으시는 부분도 명확하게 이해했습니다!

감사합니다~

안녕하세요.

0

62

1

[OneToOne Field Demo] get_user_model() 메서드를 활용해야 하는 이유?

0

282

1

useEffect 훅에서 else 유무에 따른 결과

0

221

1

useAxios 훅의 dependency array 설정

0

254

1

useEffect에서 변수 업데이트 관련 질문

0

385

1

rest_framework.generics.CreateAPIView의 model 속성 유무

0

273

1

bootstrap4

0

479

4

리뉴얼 강의가 오픈이 되면 기존 강의는 더이상 못보는걸까요

1

373

1

admin form에서 앞선 필드 선택 후 다른 필드 select widget 구성하는 방법

0

577

3

useState는 필수일까요?

0

269

1

python manage.py makemigrations instagram 시 created_at default 오류가 발생합니다.

0

606

4

Django allauth를 사용한 소셜 로그인 시 에러

0

657

1

프로젝트명 변경 뒤, 디버그툴바+디버그모드 사용 시 에러

0

561

2

useLocalStorage() 함수 사용여부

0

233

1

django에 LOGIN_URL = '/accounts/login/'의 의미?

0

451

1

리듀서의 의미 재확인

0

435

1

simple-jwt Refresh Token 사용 노하우

0

903

2

docker compose 를 통한 배포 관련 오류 문의

0

683

1

파이썬 속도 장고 관련 궁금한게 있습니다.

0

368

1

is_like_user

0

236

1

related_name 오류

0

276

1

re_path 오류

0

263

1

re_path url

0

252

1

No post matches the given query

0

667

2