diff options
author | mike bayer <mike_mp@zzzcomputing.com> | 2023-03-25 13:51:12 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@bbpush.zzzcomputing.com> | 2023-03-25 13:51:12 +0000 |
commit | c39f2f3b926a09c0f2dc5c6cb26e3a504b0a9e67 (patch) | |
tree | fd4cacd4c1ce4cb7bcc8b0751e15c2cf7a2e34ab /lib/sqlalchemy/dialects | |
parent | 215e7391e39c74921bff0b27b29255ee462b2594 (diff) | |
parent | 7aa97a8c249e75dcc08f509313018520f74a86cb (diff) | |
download | sqlalchemy-c39f2f3b926a09c0f2dc5c6cb26e3a504b0a9e67.tar.gz |
Merge "automatically provision hstore for pg13+" into main
Diffstat (limited to 'lib/sqlalchemy/dialects')
-rw-r--r-- | lib/sqlalchemy/dialects/postgresql/provision.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/sqlalchemy/dialects/postgresql/provision.py b/lib/sqlalchemy/dialects/postgresql/provision.py index 5c6b9fcea..582157604 100644 --- a/lib/sqlalchemy/dialects/postgresql/provision.py +++ b/lib/sqlalchemy/dialects/postgresql/provision.py @@ -148,9 +148,18 @@ def _upsert(cfg, table, returning, set_lambda=None): return stmt +_extensions = [ + ("citext", (13,)), + ("hstore", (13,)), +] + + @post_configure_engine.for_db("postgresql") def _create_citext_extension(url, engine, follower_ident): with engine.connect() as conn: - if conn.dialect.server_version_info >= (13,): - conn.execute(text("CREATE EXTENSION IF NOT EXISTS citext")) - conn.commit() + for extension, min_version in _extensions: + if conn.dialect.server_version_info >= min_version: + conn.execute( + text(f"CREATE EXTENSION IF NOT EXISTS {extension}") + ) + conn.commit() |