mirror of
https://github.com/jazzband/dj-database-url.git
synced 2026-03-16 22:20:24 +00:00
Merge pull request #89 from elohmeier/master
add mssql support using pyodbc
This commit is contained in:
commit
dfd6202f37
3 changed files with 17 additions and 0 deletions
|
|
@ -60,6 +60,8 @@ URL schema
|
|||
+-------------+-----------------------------------------------+--------------------------------------------------+
|
||||
| PostGIS | ``django.contrib.gis.db.backends.postgis`` | ``postgis://USER:PASSWORD@HOST:PORT/NAME`` |
|
||||
+-------------+-----------------------------------------------+--------------------------------------------------+
|
||||
| MSSQL | ``sql_server.pyodbc`` | ``mssql://USER:PASSWORD@HOST:PORT/NAME`` |
|
||||
+-------------+-----------------------------------------------+--------------------------------------------------+
|
||||
| MySQL | ``django.db.backends.mysql`` | ``mysql://USER:PASSWORD@HOST:PORT/NAME`` |
|
||||
+-------------+-----------------------------------------------+--------------------------------------------------+
|
||||
| MySQL (GIS) | ``django.contrib.gis.db.backends.mysql`` | ``mysqlgis://USER:PASSWORD@HOST:PORT/NAME`` |
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ urlparse.uses_netloc.append('mysql')
|
|||
urlparse.uses_netloc.append('mysql2')
|
||||
urlparse.uses_netloc.append('mysqlgis')
|
||||
urlparse.uses_netloc.append('mysql-connector')
|
||||
urlparse.uses_netloc.append('mssql')
|
||||
urlparse.uses_netloc.append('spatialite')
|
||||
urlparse.uses_netloc.append('sqlite')
|
||||
urlparse.uses_netloc.append('oracle')
|
||||
|
|
@ -34,6 +35,7 @@ SCHEMES = {
|
|||
'mysql2': 'django.db.backends.mysql',
|
||||
'mysqlgis': 'django.contrib.gis.db.backends.mysql',
|
||||
'mysql-connector': 'mysql.connector.django',
|
||||
'mssql': 'sql_server.pyodbc',
|
||||
'spatialite': 'django.contrib.gis.db.backends.spatialite',
|
||||
'sqlite': 'django.db.backends.sqlite3',
|
||||
'oracle': 'django.db.backends.oracle',
|
||||
|
|
|
|||
|
|
@ -302,6 +302,19 @@ class DatabaseTestSuite(unittest.TestCase):
|
|||
assert url['OPTIONS']['options'] == '-c search_path=otherschema'
|
||||
assert 'currentSchema' not in url['OPTIONS']
|
||||
|
||||
def test_mssql_parsing(self):
|
||||
url = 'mssql://uf07k1i6d8ia0v:wegauwhgeuioweg@ec2-107-21-253-135.compute-1.amazonaws.com/d8r82722r2kuvn?driver=ODBC Driver 13 for SQL Server'
|
||||
url = dj_database_url.parse(url)
|
||||
|
||||
assert url['ENGINE'] == 'sql_server.pyodbc'
|
||||
assert url['NAME'] == 'd8r82722r2kuvn'
|
||||
assert url['HOST'] == 'ec2-107-21-253-135.compute-1.amazonaws.com'
|
||||
assert url['USER'] == 'uf07k1i6d8ia0v'
|
||||
assert url['PASSWORD'] == 'wegauwhgeuioweg'
|
||||
assert url['PORT'] == ''
|
||||
assert url['OPTIONS']['driver'] == 'ODBC Driver 13 for SQL Server'
|
||||
assert 'currentSchema' not in url['OPTIONS']
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
|
|
|||
Loading…
Reference in a new issue