Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo explica como migrar um projeto do Django do django-mssql-backend pacote (que usou o sql_server.pyodbc mecanismo) para o mssql-django pacote.
Overview
O mssql-django pacote é o sucessor de django-mssql-backend. Ele fornece um backend de banco de dados Django para SQL Server com nome de pacote atualizado, identificador de motor e suporte para versões mais recentes do Django. O caminho do driver pyodbc permanece o padrão na mssql-django versão 2.0, e cada alias de banco de dados pode optar pelo driver mssql-python. Para mais informações, veja Selecionar o driver de banco de dados para mssql-django.
| Característica | django-mssql-backend | mssql-django |
|---|---|---|
| Nome do pacote | django-mssql-backend |
mssql-django |
| MOTOR | sql_server.pyodbc |
mssql |
| Suporte do Django | 2.2, 3.0, 3.1 | 5.2, 6.0, 6.1 |
| Mantido por | Microsoft | Microsoft |
| PyPI | pip install django-mssql-backend |
pip install mssql-django |
Etapa 1: Atualizar o pacote de Python
Desinstale o pacote antigo e instale o novo:
pip uninstall django-mssql-backend
pip install mssql-django
Se você usar um requirements.txt arquivo, substitua a referência do pacote:
# Before
django-mssql-backend>=2.8.1
# After
mssql-django>=2.0
Etapa 2: Atualizar o DATABASE MOTOR
Na sua settings.py, altere o valor de ENGINE de sql_server.pyodbc para 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",
},
},
}
Note
O caminho padrão do pyodbc usa o driver ODBC 18 da Microsoft para SQL Server. Você pode continuar a usar o Driver 17 no caminho pyodbc, especificando-o de forma explícita na opção driver. O caminho mssql-python ignora essa driver opção.
Etapa 3: Atualizar INSTALLED_APPS
Se o seu INSTALLED_APPS faz referência a sql_server, atualize-o:
# Before
INSTALLED_APPS = [
"sql_server",
# ...
]
# After - only needed if using inspectdb
INSTALLED_APPS = [
"mssql",
# ...
]
Etapa 4: Verificar a configuração
Execute uma verificação rápida para garantir que o novo back-end se conecte com êxito:
python manage.py check
python manage.py showmigrations
Etapa 5: Executar seu conjunto de testes
Execute o conjunto de testes do projeto para verificar se tudo funciona com o novo back-end:
python manage.py test
Alterações disruptivas para se olhar com atenção
| Area | Change |
|---|---|
| Driver padrão de banco de dados |
mssql-django A versão 2.0 mantém o pyodbc como driver padrão do banco de dados. Para usar o caminho mssql-python, defina "python_driver": "mssql_python" no dicionário OPTIONS do alias. |
| Driver ODBC padrão no caminho do pyodbc | O caminho pyodbc usa ODBC Driver 18 for SQL Server, que define Encrypt=yes por padrão. As conexões com servidores com certificados autoassinados ou não confiáveis falham, a menos que você adicione TrustServerCertificate=yes a extra_params. Alternativamente, especifique o Driver 17 no caminho pyodbc ou instale um certificado confiável no servidor. |
return_rows_bulk_insert |
Usa False como padrão. Defina como True para habilitar o retorno de IDs após bulk_create. Deve permanecer False para tabelas com gatilhos. Consulte operações em massa com mssql-django. |