mirror of
https://github.com/jazzband/dj-database-url.git
synced 2026-03-16 22:20:24 +00:00
Add support for CockroachDB
This commit is contained in:
parent
1937ed9e61
commit
78d225c069
3 changed files with 18 additions and 0 deletions
|
|
@ -76,6 +76,8 @@ URL schema
|
|||
+-------------+-----------------------------------------------+--------------------------------------------------+
|
||||
| Redshift | ``django_redshift_backend`` | ``redshift://USER:PASSWORD@HOST:PORT/NAME`` |
|
||||
+-------------+-----------------------------------------------+--------------------------------------------------+
|
||||
| CockroachDB | ``django_cockroachdb`` | ``cockroach://USER:PASSWORD@HOST:PORT/NAME`` |
|
||||
+-------------+-----------------------------------------------+--------------------------------------------------+
|
||||
|
||||
.. [1] The django.db.backends.postgresql backend is named django.db.backends.postgresql_psycopg2 in older releases. For
|
||||
backwards compatibility, the old name still works in newer versions. (The new name does not work in older versions).
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ urlparse.uses_netloc.append('sqlite')
|
|||
urlparse.uses_netloc.append('oracle')
|
||||
urlparse.uses_netloc.append('oraclegis')
|
||||
urlparse.uses_netloc.append('redshift')
|
||||
urlparse.uses_netloc.append('cockroach')
|
||||
|
||||
DEFAULT_ENV = 'DATABASE_URL'
|
||||
|
||||
|
|
@ -43,6 +44,7 @@ SCHEMES = {
|
|||
'oracle': 'django.db.backends.oracle',
|
||||
'oraclegis': 'django.contrib.gis.db.backends.oracle',
|
||||
'redshift': 'django_redshift_backend',
|
||||
'cockroach': 'django_cockroachdb'
|
||||
}
|
||||
|
||||
# https://docs.djangoproject.com/en/2.0/releases/2.0/#id1
|
||||
|
|
|
|||
|
|
@ -336,6 +336,20 @@ class DatabaseTestSuite(unittest.TestCase):
|
|||
assert url['OPTIONS']['driver'] == 'ODBC Driver 13 for SQL Server'
|
||||
assert 'currentSchema' not in url['OPTIONS']
|
||||
|
||||
def test_cockroach(self):
|
||||
url = "cockroach://testuser:testpass@testhost:26257/cockroach?sslmode=verify-full&sslrootcert=/certs/ca.crt&sslcert=/certs/client.myprojectuser.crt&sslkey=/certs/client.myprojectuser.key"
|
||||
url = dj_database_url.parse(url)
|
||||
assert url['ENGINE'] == 'django_cockroachdb'
|
||||
assert url['NAME'] == 'cockroach'
|
||||
assert url['HOST'] == 'testhost'
|
||||
assert url['USER'] == 'testuser'
|
||||
assert url['PASSWORD'] == 'testpass'
|
||||
assert url['PORT'] == 26257
|
||||
assert url['OPTIONS']['sslmode'] == 'verify-full'
|
||||
assert url['OPTIONS']['sslrootcert'] == '/certs/ca.crt'
|
||||
assert url['OPTIONS']['sslcert'] == '/certs/client.myprojectuser.crt'
|
||||
assert url['OPTIONS']['sslkey'] == '/certs/client.myprojectuser.key'
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
|
|
|||
Loading…
Reference in a new issue