-
-
Notifications
You must be signed in to change notification settings - Fork 213
Open
Description
Error message
TypeError: connect() got an unexpected keyword argument 'sslmode'. Did you mean 'ssl_mode'?Steps to reproduce
Setup up a Django project and use dj-database-url (via environs) for settings.py. So my pip freeze contains:
Django==5.2.8
mysqlclient==2.2.7
...
python-dotenv==1.2.1
environs==14.5.0
dj-database-url==3.0.1
My settings.py:
from environs import Env
env = Env()
env.read_env()
# ...
DATABASES = {
"default": env.dj_db_url(
"DATABASE_URL",
ssl_require=True,
),
}Workaround
DATABASES = {
"default": {
**env.dj_db_url("DATABASE_URL"),
'OPTIONS': {"ssl_mode": "REQUIRED"}
}
}Full error message
Exception in thread django-main-thread:
Traceback (most recent call last):
File "C:\Python313\Lib\threading.py", line 1041, in _bootstrap_inner
self.run()
~~~~~~~~^^
File "C:\Python313\Lib\threading.py", line 992, in run
self._target(*self._args, **self._kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\repo\.venv\Lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
~~^^^^^^^^^^^^^^^^^
File "C:\repo\.venv\Lib\site-packages\django\core\management\commands\runserver.py", line 137, in inner_run
self.check_migrations()
~~~~~~~~~~~~~~~~~~~~~^^
File "C:\repo\.venv\Lib\site-packages\django\core\management\base.py", line 587, in check_migrations
executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS])
File "C:\repo\.venv\Lib\site-packages\django\db\migrations\executor.py", line 18, in __init__
self.loader = MigrationLoader(self.connection)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "C:\repo\.venv\Lib\site-packages\django\db\migrations\loader.py", line 58, in __init__
self.build_graph()
~~~~~~~~~~~~~~~~^^
File "C:\repo\.venv\Lib\site-packages\django\db\migrations\loader.py", line 235, in build_graph
self.applied_migrations = recorder.applied_migrations()
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\repo\.venv\Lib\site-packages\django\db\migrations\recorder.py", line 89, in applied_migrations
if self.has_table():
~~~~~~~~~~~~~~^^
File "C:\repo\.venv\Lib\site-packages\django\db\migrations\recorder.py", line 63, in has_table
with self.connection.cursor() as cursor:
~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\repo\.venv\Lib\site-packages\django\utils\asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "C:\repo\.venv\Lib\site-packages\django\db\backends\base\base.py", line 320, in cursor
return self._cursor()
~~~~~~~~~~~~^^
File "C:\repo\.venv\Lib\site-packages\django\db\backends\base\base.py", line 296, in _cursor
self.ensure_connection()
~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\repo\.venv\Lib\site-packages\django\utils\asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "C:\repo\.venv\Lib\site-packages\django\db\backends\base\base.py", line 279, in ensure_connection
self.connect()
~~~~~~~~~~~~^^
File "C:\repo\.venv\Lib\site-packages\django\utils\asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "C:\repo\.venv\Lib\site-packages\django\db\backends\base\base.py", line 256, in connect
self.connection = self.get_new_connection(conn_params)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "C:\repo\.venv\Lib\site-packages\django\utils\asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "C:\repo\.venv\Lib\site-packages\django\db\backends\mysql\base.py", line 256, in get_new_connection
connection = Database.connect(**conn_params)
File "C:\repo\.venv\Lib\site-packages\MySQLdb\__init__.py", line 121, in Connect
return Connection(*args, **kwargs)
File "C:\repo\.venv\Lib\site-packages\MySQLdb\connections.py", line 200, in __init__
super().__init__(*args, **kwargs2)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
TypeError: connect() got an unexpected keyword argument 'sslmode'. Did you mean 'ssl_mode'?Metadata
Metadata
Assignees
Labels
No labels