We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Describe the bug Empty connection url parameters are ignored by Tortoise.init.
To Reproduce
mysql://myuser:mypass@db.host:3306/somedb?sql_mode=
sql_mode
Tortoise.init(...)
Created connection pool with params: {'host': 'db.host', 'port': 3306, 'user': 'myuser', 'db': 'somedb', 'autocommit': True, 'charset': 'utf8mb4', 'minsize': 1, 'maxsize': 5, 'sql_mode': 'STRICT_TRANS_TABLES'}
Expected behavior Created connection pool with params: {'host': 'db.host', 'port': 3306, 'user': 'myuser', 'db': 'somedb', 'autocommit': True, 'charset': 'utf8mb4', 'minsize': 1, 'maxsize': 5, 'sql_mode': ''} (empty string as sql_mode).
Created connection pool with params: {'host': 'db.host', 'port': 3306, 'user': 'myuser', 'db': 'somedb', 'autocommit': True, 'charset': 'utf8mb4', 'minsize': 1, 'maxsize': 5, 'sql_mode': ''}
Additional context It seems like the problem is caused by parse_qs in expand_db_url, which sets keep_blank_values=False by default. Here https://github.com/tortoise/tortoise-orm/blob/develop/tortoise/backends/base/config_generator.py#L148.
parse_qs
expand_db_url
keep_blank_values=False
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Describe the bug
Empty connection url parameters are ignored by Tortoise.init.
To Reproduce
mysql://myuser:mypass@db.host:3306/somedb?sql_mode=
(empty value forsql_mode
).Tortoise.init(...)
with debug logs enabled.Created connection pool with params: {'host': 'db.host', 'port': 3306, 'user': 'myuser', 'db': 'somedb', 'autocommit': True, 'charset': 'utf8mb4', 'minsize': 1, 'maxsize': 5, 'sql_mode': 'STRICT_TRANS_TABLES'}
Expected behavior
Created connection pool with params: {'host': 'db.host', 'port': 3306, 'user': 'myuser', 'db': 'somedb', 'autocommit': True, 'charset': 'utf8mb4', 'minsize': 1, 'maxsize': 5, 'sql_mode': ''}
(empty string assql_mode
).Additional context
It seems like the problem is caused by
parse_qs
inexpand_db_url
, which setskeep_blank_values=False
by default. Here https://github.com/tortoise/tortoise-orm/blob/develop/tortoise/backends/base/config_generator.py#L148.The text was updated successfully, but these errors were encountered: