DB를 먼저 설계하고 django와 연동하기 (1) - 작업 정의
github 저장소 : https://github.com/bluebamus/synchronization-test-between-django-and-db
1. DB를 먼저 설계하고 django와 연동하기 (1) - 작업 정의
2. DB를 먼저 설계하고 django와 연동하기 (2) - migration 후 db 추가 설계 그리고 inspectdb
3. DB를 먼저 설계하고 django와 연동하기 (3) - inspectdb로 생성된 models.py로 migrations 후 비교
4. DB를 먼저 설계하고 django와 연동하기 (4) - fake를 사용해 migrate 후 models.py 수정 반영하기
5. DB를 먼저 설계하고 django와 연동하기 (5) - view table 테스트
6. DB를 먼저 설계하고 django와 연동하기 (6) - 함수와 lock 사용하기
- 앞으로 있을 프로젝트에서는 DB를 먼저 설계하여 View table과 프로시저를 이용해볼 생각이다.
- 테스트 순서 및 시나리오는 다음과 같다.
- 테이블
- users (사용자), user_order (주문), items(상품 목록), stock (재고), stock_order (재고 주문)
- view table
- 예약 주문이 들어가 있는 재고의 재고 주문 정보 (join)
- 주문, 재고 주문은 프로시저 Transaction을 이용해 CURD를 처리한다.
- 사용자, 상품목록, 재고의 CURD는 django의 ORM을 사용한다.
- 시나리오 정의
1) db 준비
- django의 user를 사용하기 위해 makemigration을 한번 동작 시킨다.
2) django와 동기화
3) 새로운 database에 migration
4) 직접 만든 database와 django migration으로 만든 db구조 비교 분석
5) 기존 db에 index와 default가 정의된 models.py를 --fake를 이용해 migrate하여 동기화
6) django에서 db 구조 변경
- index 추가, 삭제
- 필드 추가
7) django와 migrate를 이용한 동기화
8) view table 생성 후 동기화
9) 함수를 이용한 CURD 설정과 테스트
10) 함수 lock 테스트
- 추가 라이브러리
- shell_plus or jupyter-notebook 사용
- 위 시나리오는 만들어진 db를 가져오는 것 뿐만 아니라 django에서 동기화된 db를 재수정하여 업데이트를 하는 과정을 수행하며 이후 다시 db를 수정하고 django에서 동기화를 하는 과정을 거친다.
- 해당 작업을 수행하며 발생하는 에러 및 결과를 기록하고자 한다.
- 해당 작업에 대한 코드는 github로 공개할 계획이다.
'Study > django' 카테고리의 다른 글
DB를 먼저 설계하고 django와 연동하기 (4) - fake를 사용해 migrate 후 models.py 수정 반영하기 (0) | 2023.12.08 |
---|---|
DB를 먼저 설계하고 django와 연동하기 (3) - inspectdb로 생성된 models.py로 migrations 후 비교 (1) | 2023.12.08 |
[udemy] - Build a Backend REST API with Python & Django - Beginner 학습 정리 (1) | 2023.10.20 |
[udemy] Build REST APIs with Django REST Framework and Python 학습 후기 (0) | 2023.10.13 |
mysql에서 postgresql로 마이그레이션 시도를 하다 #2 (0) | 2023.10.11 |
댓글