Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan cara memigrasikan proyek Django dari django-mssql-backend paket (yang menggunakan sql_server.pyodbc mesin) ke mssql-django paket.
Overview
Paket mssql-django ini adalah penerus django-mssql-backend. Tetap menyediakan backend database Django untuk SQL Server menggunakan pyodbc, tetapi dengan nama paket yang diperbarui, identifier engine, serta dukungan untuk versi Django yang lebih baru.
| Fitur | django-mssql-backend | mssql-django |
|---|---|---|
| Nama paket | django-mssql-backend |
mssql-django |
| MESIN | sql_server.pyodbc |
mssql |
| Dukungan Django | 2.2, 3.0, 3.1 | 3.2, 4.0, 4.1, 4.2, 5.0, 5.1, 5.2, 6.0 |
| Dikelola oleh | Microsoft | Microsoft |
| PyPI | pip install django-mssql-backend |
pip install mssql-django |
Langkah 1: Memperbarui paket Python
Hapus instalan paket lama dan instal yang baru:
pip uninstall django-mssql-backend
pip install mssql-django
Jika Anda menggunakan requirements.txt file, ganti referensi paket:
# Before
django-mssql-backend>=2.8.1
# After
mssql-django>=1.7
Langkah 2: Perbarui DATABASE MESIN
Di settings.py Anda, ubah nilai ENGINE dari sql_server.pyodbc menjadi 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
mssql-django v1.7 menggunakan ODBC Driver 18 secara default. Anda dapat terus menggunakan Driver 17 dengan menentukannya secara eksplisit dalam driver opsi .
Langkah 3: Memperbarui INSTALLED_APPS
Jika INSTALLED_APPS Anda merujuk ke sql_server, perbarui:
# Before
INSTALLED_APPS = [
"sql_server",
# ...
]
# After - only needed if using inspectdb
INSTALLED_APPS = [
"mssql",
# ...
]
Langkah 4: Verifikasi konfigurasi
Jalankan verifikasi cepat untuk memastikan backend baru berhasil tersambung:
python manage.py check
python manage.py showmigrations
Langkah 5: Jalankan rangkaian pengujian Anda
Jalankan rangkaian pengujian proyek Anda untuk memverifikasi semuanya berfungsi dengan backend baru:
python manage.py test
Perubahan besar yang perlu diwaspadai
| Area | Perubahan |
|---|---|
| Driver ODBC baku | v1.7 secara bawaan menggunakan ODBC Driver 18 for SQL Server, yang secara bawaan menetapkan Encrypt=yes (Driver 17 secara bawaan menggunakan Encrypt=no). Koneksi ke server dengan sertifikat yang ditandatangani sendiri atau tidak tepercaya gagal kecuali Anda menambahkan TrustServerCertificate=yes ke extra_params. Atau, tentukan Driver 17 atau instal sertifikat tepercaya di server. |
return_rows_bulk_insert |
Secara default menjadi False. Atur ke True untuk mengaktifkan pengembalian ID setelah bulk_create. Harus tetap False untuk tabel dengan pemicu. Lihat Operasi massal dengan mssql-django. |