﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
29624	Django 2.1 incompatible with sqlite 3.6.20	zsblevins	nobody	"Running tests using sqlite3 databases with Django 2.1 and sqlite 3.6.20 yields:

{{{
Traceback (most recent call last):
   File ""/tmp/py36/lib/python3.6/site-packages/django/db/backends/base/base.py"", line 216, in ensure_connection
     self.connect()
   File ""/tmp/py36/lib/python3.6/site-packages/django/db/backends/base/base.py"", line 194, in connect
     self.connection = self.get_new_connection(conn_params)
   File ""/tmp/py36/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py"", line 159, in get_new_connection
     conn = Database.connect(**conn_params)
 sqlite3.NotSupportedError: URIs not supported
 
 The above exception was the direct cause of the following exception:
 
 Traceback (most recent call last):
   File ""yahoo/contrib/sandy_app/manage.py"", line 13, in <module>
     execute_from_command_line(sys.argv)
   File ""/tmp/py36/lib/python3.6/site-packages/django/core/management/__init__.py"", line 381, in execute_from_command_line
     utility.execute()
   File ""/tmp/py36/lib/python3.6/site-packages/django/core/management/__init__.py"", line 375, in execute
     self.fetch_command(subcommand).run_from_argv(self.argv)
   File ""/tmp/py36/lib/python3.6/site-packages/django/core/management/commands/test.py"", line 26, in run_from_argv
     super().run_from_argv(argv)
   File ""/tmp/py36/lib/python3.6/site-packages/django/core/management/base.py"", line 316, in run_from_argv
     self.execute(*args, **cmd_options)
   File ""/tmp/py36/lib/python3.6/site-packages/django/core/management/base.py"", line 353, in execute
     output = self.handle(*args, **options)
   File ""/tmp/py36/lib/python3.6/site-packages/django/core/management/commands/test.py"", line 56, in handle
     failures = test_runner.run_tests(test_labels)
   File ""/tmp/py36/lib/python3.6/site-packages/django_nose/runner.py"", line 308, in run_tests
     result = self.run_suite(nose_argv)
   File ""/tmp/py36/lib/python3.6/site-packages/django_nose/runner.py"", line 245, in run_suite
     addplugins=plugins_to_add)
   File ""/tmp/py36/lib/python3.6/site-packages/nose/core.py"", line 121, in __init__
     **extra_args)
   File ""/opt/python/lib/python3.6/unittest/main.py"", line 95, in __init__
     self.runTests()
   File ""/tmp/py36/lib/python3.6/site-packages/nose/core.py"", line 207, in runTests
     result = self.testRunner.run(self.test)
   File ""/tmp/py36/lib/python3.6/site-packages/nose/core.py"", line 50, in run
     wrapper = self.config.plugins.prepareTest(test)
   File ""/tmp/py36/lib/python3.6/site-packages/nose/plugins/manager.py"", line 99, in __call__
     return self.call(*arg, **kw)
   File ""/tmp/py36/lib/python3.6/site-packages/nose/plugins/manager.py"", line 167, in simple
     result = meth(*arg, **kw)
   File ""/tmp/py36/lib/python3.6/site-packages/django_nose/plugin.py"", line 82, in prepareTest
     self.old_names = self.runner.setup_databases()
   File ""/tmp/py36/lib/python3.6/site-packages/django_nose/runner.py"", line 495, in setup_databases
     return super(NoseTestSuiteRunner, self).setup_databases()
   File ""/tmp/py36/lib/python3.6/site-packages/django/test/runner.py"", line 551, in setup_databases
     self.parallel, **kwargs
   File ""/tmp/py36/lib/python3.6/site-packages/django/test/utils.py"", line 174, in setup_databases
     serialize=connection.settings_dict.get('TEST', {}).get('SERIALIZE', True),
   File ""/tmp/py36/lib/python3.6/site-packages/django/db/backends/base/creation.py"", line 68, in create_test_db
     run_syncdb=True,
   File ""/tmp/py36/lib/python3.6/site-packages/django/core/management/__init__.py"", line 148, in call_command
     return command.execute(*args, **defaults)
   File ""/tmp/py36/lib/python3.6/site-packages/django/core/management/base.py"", line 353, in execute
     output = self.handle(*args, **options)
   File ""/tmp/py36/lib/python3.6/site-packages/django/core/management/base.py"", line 83, in wrapped
     res = handle_func(*args, **kwargs)
   File ""/tmp/py36/lib/python3.6/site-packages/django/core/management/commands/migrate.py"", line 82, in handle
     executor = MigrationExecutor(connection, self.migration_progress_callback)
   File ""/tmp/py36/lib/python3.6/site-packages/django/db/migrations/executor.py"", line 18, in __init__
     self.loader = MigrationLoader(self.connection)
   File ""/tmp/py36/lib/python3.6/site-packages/django/db/migrations/loader.py"", line 49, in __init__
     self.build_graph()
   File ""/tmp/py36/lib/python3.6/site-packages/django/db/migrations/loader.py"", line 209, in build_graph
     self.applied_migrations = recorder.applied_migrations()
   File ""/tmp/py36/lib/python3.6/site-packages/django/db/migrations/recorder.py"", line 61, in applied_migrations
     if self.has_table():
   File ""/tmp/py36/lib/python3.6/site-packages/django/db/migrations/recorder.py"", line 44, in has_table
     return self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor())
   File ""/tmp/py36/lib/python3.6/site-packages/django/db/backends/base/base.py"", line 255, in cursor
     return self._cursor()
   File ""/tmp/py36/lib/python3.6/site-packages/django/db/backends/base/base.py"", line 232, in _cursor
     self.ensure_connection()
   File ""/tmp/py36/lib/python3.6/site-packages/django/db/backends/base/base.py"", line 216, in ensure_connection
     self.connect()
   File ""/tmp/py36/lib/python3.6/site-packages/django/db/utils.py"", line 89, in __exit__
     raise dj_exc_value.with_traceback(traceback) from exc_value
   File ""/tmp/py36/lib/python3.6/site-packages/django/db/backends/base/base.py"", line 216, in ensure_connection
     self.connect()
   File ""/tmp/py36/lib/python3.6/site-packages/django/db/backends/base/base.py"", line 194, in connect
     self.connection = self.get_new_connection(conn_params)
   File ""/tmp/py36/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py"", line 159, in get_new_connection
     conn = Database.connect(**conn_params)
 django.db.utils.NotSupportedError: URIs not supported
 ERROR: InvocationError for command '/tmp/py36/bin/python yahoo/contrib/sandy_app/manage.py test --with-xunit --xunit-file=artifacts/test/nosetests_py36.xml --xunit-testsuite-name=py36 --with-coverage --cover-xml --cover-erase --traverse-namespace --cover-tests --exe --cover-package=yahoo.contrib --cover-xml-file=artifacts/coverage/cobertura.xml tests' (exited with code 1)
}}}

Downgrading Django to 2.0.7 resolves. sqlite 3.7.17 on RHEL7 does not have the same issue, but is not available on RHEL6 systems. 
"	Bug	closed	Database layer (models, ORM)	2.1	Release blocker	wontfix		zsblevins@…	Accepted	0	0	0	0	0	0
