[Infra] MsSQL과 장고(django) 연결하기

업데이트:

MsSQL과 장고(django) 연결하기

참고 링크

1. 장고 프로젝트 생성하기

본 예제는 윈도우 11 환경에서 실행했습니다.

먼저 테스트에 사용할 장고 프로젝트를 생성하겠습니다. 아나콘다 프롬프트를 열고 자신의 가상환경을 실행하고 자신이 프로젝트를 생성하고 싶은 폴더로 이동해 프로젝트를 생성해줍니다.

(py3_9_7)$ django-admin startproject dbcontest

프로젝트를 생성했으면 mssql과 장고를 연동하기 위해 필요한 라이브러리인 mssql-django를 다음과 같이 설치해줍니다.

(py3_9_7)$ pip install mssql-django

2. setting.py 수정

저는 IDE로 인텔리제이를 사용하므로 인텔리제이를 실행해서 해당 장고 프로젝트를 열어줍니다. 이때 터미널은 기본 cmd로 설정해도 conda 명령어가 먹히므로 conda activate py3_9_7커맨드를 사용하면 가상환경을 활성화 할 수 있습니다.

본격적으로 mssql과 장고를 연동하기 위해 setting.py를 다음과 같은 코드로 수정합니다.

DATABASES = {
    'default': {
        'ENGINE': 'mssql',
        'NAME': 'LIVING_PARADISE',
        'USER': 'erp_test',
        'PASSWORD': '1234',
        'HOST': '10.1.55.202',
        'PORT': '1433',
    }
}

참고로 위 코드에서 Mssql의 기본 포트는 1433 입니다.

3. 연동 확인

MsSQL과 장고가 연동되었는지 확인해보기 위해 다음과 같이 migrate를 해봅니다.

(py3_9_7)$ python manage.py migrate

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  ...(중략)

그리고 장고가 잘 실행되는지 봅시다.

(py3_9_7)$ python manage.py runserver

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
May 31, 2022 - 09:25:46
Django version 4.0.4, using settings 'dbcontest.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

그리고 실제로 MsSQL 테이블이 생성되었는지 MsSQL을 실행해 확인해봅니다.

위 그림과 같이 잘 연동된 것을 볼 수 있습니다.