#29624: Django 2.1 incompatible with sqlite 3.6.20
-------------------------------------+-------------------------------------
Reporter: zsblevins | Owner: nobody
Type: Bug | Status: new
Component: Database | Version: 2.1
layer (models, ORM) |
Severity: Normal | Keywords:
Triage Stage: | Has patch: 0
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
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.
--
Ticket URL: <https://code.djangoproject.com/ticket/29624>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/052.c646cd94af35ea4ebcac0b4a7b6ad2d7%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.