django-mssql-backend에서 mssql-django로 마이그레이션

이 문서에서는 django-mssql-backend 엔진을 사용하던 sql_server.pyodbc 패키지에서 mssql-django 패키지로 Django 프로젝트를 마이그레이션하는 방법을 설명합니다.

Overview

mssql-django 패키지는 django-mssql-backend의 후속 패키지입니다. SQL Server용 Django 데이터베이스 백엔드를 제공하며, 업데이트된 패키지 이름, 엔진 식별자, 최신 Django 버전 지원이 포함되어 있습니다. pyodbc 드라이버 경로는 2.0에서도 mssql-django 기본값으로 유지되며, 각 데이터베이스 별칭은 mssql-python 드라이버에 선택적으로 참여할 수 있습니다. 자세한 내용은 mssql-django의 데이터베이스 드라이버 선택을 참조하세요.

특징 django-mssql-backend mssql-django
패키지 이름 django-mssql-backend mssql-django
엔진 sql_server.pyodbc mssql
Django 지원 2.2, 3.0, 3.1 5.2, 6.0, 6.1
유지 관리 주체 Microsoft Microsoft
PyPI pip install django-mssql-backend pip install mssql-django

1단계: Python 패키지 업데이트

이전 패키지를 제거하고 새 패키지를 설치합니다.

pip uninstall django-mssql-backend
pip install mssql-django

requirements.txt 파일을 사용하는 경우 패키지 참조를 바꾸세요:

# Before
django-mssql-backend>=2.8.1

# After
mssql-django>=2.0

2단계: 엔진 업데이트 DATABASE

settings.py에서 ENGINE 값을 sql_server.pyodbc에서 mssql(으)로 변경합니다:

# Before
DATABASES = {
    "default": {
        "ENGINE": "sql_server.pyodbc",
        "NAME": "<your-database>",
        "USER": "<your-username>",
        "PASSWORD": "<your-password>",
        "HOST": "<your-server>",
        "PORT": "1433",
        "OPTIONS": {
            "driver": "ODBC Driver 17 for SQL Server",
        },
    },
}

# After
DATABASES = {
    "default": {
        "ENGINE": "mssql",
        "NAME": "<your-database>",
        "USER": "<your-username>",
        "PASSWORD": "<your-password>",
        "HOST": "<your-server>",
        "PORT": "1433",
        "OPTIONS": {
            "driver": "ODBC Driver 18 for SQL Server",
        },
    },
}

메모

기본 pyodbc 경로는 Microsoft ODBC Driver 18 for SQL Server를 사용합니다. 옵션에 driver 명시적으로 지정하면 pyodbc 경로에서 드라이버 17을 계속 사용할 수 있습니다. mssql-python 경로는 이 driver 옵션을 무시합니다.

3단계: INSTALLED_APPS 업데이트

INSTALLED_APPS에서 sql_server을 참조하는 경우 업데이트하세요:

# Before
INSTALLED_APPS = [
    "sql_server",
    # ...
]

# After - only needed if using inspectdb
INSTALLED_APPS = [
    "mssql",
    # ...
]

4단계: 구성 확인

빠른 확인을 실행하여 새 백 엔드가 성공적으로 연결되었는지 확인합니다.

python manage.py check
python manage.py showmigrations

5단계: 테스트 도구 모음 실행

프로젝트의 테스트 도구 모음을 실행하여 모든 것이 새 백 엔드에서 작동하는지 확인합니다.

python manage.py test

주의해야 할 주요 변경 내용

Area Change
기본 데이터베이스 드라이버 mssql-django 2.0은 기본 데이터베이스 드라이버로 PYODBC를 유지합니다. mssql-python 경로를 사용하려면 별칭의 "python_driver": "mssql_python" 딕셔너리에서 OPTIONS를 설정하세요.
pyodbc 경로상의 기본 ODBC 드라이버 pyodbc 경로는 Encrypt=yes를 사용하며, 이 경우 기본적으로 ODBC Driver 18 for SQL Server가 설정됩니다. 에 추가 TrustServerCertificate=yesextra_params하지 않으면 자체 서명되거나 신뢰할 수 없는 인증서가 있는 서버에 대한 연결이 실패합니다. 또는 pyodbc 경로에 드라이버 17을 지정하거나 서버에 신뢰할 수 있는 인증서를 설치하세요.
return_rows_bulk_insert 기본값은 False입니다. True 후에 ID를 반환할 수 있도록 bulk_create로 설정합니다. 트리거가 있는 테이블의 경우 False 상태로 유지되어야 합니다. mssql-django를 사용하여 대량 작업을 참조하세요.