From: Mike Bayer Date: Fri, 20 Oct 2023 17:31:15 +0000 (-0400) Subject: dont write dupe idents w different drivers in the idents file X-Git-Tag: rel_2_0_23~19^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=74974d7981b84837b67f1dc64ee0973eeef77e21;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git dont write dupe idents w different drivers in the idents file Change-Id: I474b40327fcc40a8a6eb4c537a4b80f0eea37162 --- diff --git a/lib/sqlalchemy/testing/plugin/plugin_base.py b/lib/sqlalchemy/testing/plugin/plugin_base.py index 563d8f68c2..585f6bac3c 100644 --- a/lib/sqlalchemy/testing/plugin/plugin_base.py +++ b/lib/sqlalchemy/testing/plugin/plugin_base.py @@ -420,6 +420,7 @@ def _engine_uri(options, file_config): from sqlalchemy import testing from sqlalchemy.testing import config from sqlalchemy.testing import provision + from sqlalchemy.engine import url as sa_url if options.dburi: db_urls = list(options.dburi) @@ -444,18 +445,19 @@ def _engine_uri(options, file_config): config._current = None - expanded_urls = list(provision.generate_db_urls(db_urls, extra_drivers)) - - for db_url in expanded_urls: - log.info("Adding database URL: %s", db_url) - - if options.write_idents and provision.FOLLOWER_IDENT: + if options.write_idents and provision.FOLLOWER_IDENT: + for db_url in [sa_url.make_url(db_url) for db_url in db_urls]: with open(options.write_idents, "a") as file_: file_.write( f"{provision.FOLLOWER_IDENT} " f"{db_url.render_as_string(hide_password=False)}\n" ) + expanded_urls = list(provision.generate_db_urls(db_urls, extra_drivers)) + + for db_url in expanded_urls: + log.info("Adding database URL: %s", db_url) + cfg = provision.setup_config( db_url, options, file_config, provision.FOLLOWER_IDENT )