fix: Decode URL-encoded characters in passwords

This enables using passwords containing special characters.
This commit is contained in:
Zhaofeng Li 2024-08-12 08:52:16 -06:00
parent a53c2a8c6b
commit e63d5778a8

View File

@ -43,7 +43,7 @@ class ReconnectingPostgresqlDatabase(CustomReconnectMixin, PostgresqlDatabase):
def register_connection(db_url): def register_connection(db_url):
db = connect(db_url) db = connect(db_url, unquote_password=True)
if isinstance(db, PostgresqlDatabase): if isinstance(db, PostgresqlDatabase):
# Enable autoconnect for SQLite databases, managed by Peewee # Enable autoconnect for SQLite databases, managed by Peewee
db.autoconnect = True db.autoconnect = True
@ -51,7 +51,7 @@ def register_connection(db_url):
log.info("Connected to PostgreSQL database") log.info("Connected to PostgreSQL database")
# Get the connection details # Get the connection details
connection = parse(db_url) connection = parse(db_url, unquote_password=True)
# Use our custom database class that supports reconnection # Use our custom database class that supports reconnection
db = ReconnectingPostgresqlDatabase(**connection) db = ReconnectingPostgresqlDatabase(**connection)