summaryrefslogtreecommitdiff
path: root/django/db/backends/sqlite3
diff options
context:
space:
mode:
authorJon Dufresne <jon.dufresne@gmail.com>2019-11-07 01:26:22 -0800
committerCarlton Gibson <carlton.gibson@noumenal.es>2019-11-07 10:26:22 +0100
commit77aa74cb70dd85497dbade6bc0f394aa41e88c94 (patch)
treef526b5e63897415e8753c6e38396bba535e3fc75 /django/db/backends/sqlite3
parent367634f976ab43db93321bf4eb898449b670e291 (diff)
Refs #29983 -- Added support for using pathlib.Path in all settings.
Diffstat (limited to 'django/db/backends/sqlite3')
-rw-r--r--django/db/backends/sqlite3/base.py4
-rw-r--r--django/db/backends/sqlite3/creation.py5
2 files changed, 7 insertions, 2 deletions
diff --git a/django/db/backends/sqlite3/base.py b/django/db/backends/sqlite3/base.py
index 45a22f5a36..51a15ee10a 100644
--- a/django/db/backends/sqlite3/base.py
+++ b/django/db/backends/sqlite3/base.py
@@ -174,7 +174,9 @@ class DatabaseWrapper(BaseDatabaseWrapper):
"settings.DATABASES is improperly configured. "
"Please supply the NAME value.")
kwargs = {
- 'database': settings_dict['NAME'],
+ # TODO: Remove str() when dropping support for PY36.
+ # https://bugs.python.org/issue33496
+ 'database': str(settings_dict['NAME']),
'detect_types': Database.PARSE_DECLTYPES | Database.PARSE_COLNAMES,
**settings_dict['OPTIONS'],
}
diff --git a/django/db/backends/sqlite3/creation.py b/django/db/backends/sqlite3/creation.py
index 3fcf668ced..d97052f52d 100644
--- a/django/db/backends/sqlite3/creation.py
+++ b/django/db/backends/sqlite3/creation.py
@@ -1,6 +1,7 @@
import os
import shutil
import sys
+from pathlib import Path
from django.db.backends.base.creation import BaseDatabaseCreation
@@ -9,7 +10,9 @@ class DatabaseCreation(BaseDatabaseCreation):
@staticmethod
def is_in_memory_db(database_name):
- return database_name == ':memory:' or 'mode=memory' in database_name
+ return not isinstance(database_name, Path) and (
+ database_name == ':memory:' or 'mode=memory' in database_name
+ )
def _get_test_db_name(self):
test_database_name = self.connection.settings_dict['TEST']['NAME'] or ':memory:'