From 020953e9437400c27d9dc9c6dc61b3a374203d8a Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Fri, 4 Feb 2022 19:55:28 +0100 Subject: [PATCH] Improve recorder migration for PostgreSQL when columns already exist (#65680) --- homeassistant/components/recorder/migration.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/recorder/migration.py b/homeassistant/components/recorder/migration.py index b49aee29ba1..cb94018b1b1 100644 --- a/homeassistant/components/recorder/migration.py +++ b/homeassistant/components/recorder/migration.py @@ -104,7 +104,7 @@ def _create_index(instance, table_name, index_name): with session_scope(session=instance.get_session()) as session: connection = session.connection() index.create(connection) - except (InternalError, ProgrammingError, OperationalError) as err: + except (InternalError, OperationalError, ProgrammingError) as err: raise_if_exception_missing_str(err, ["already exists", "duplicate"]) _LOGGER.warning( "Index %s already exists on %s, continuing", index_name, table_name @@ -213,7 +213,7 @@ def _add_columns(instance, table_name, columns_def): ) ) return - except (InternalError, OperationalError): + except (InternalError, OperationalError, ProgrammingError): # Some engines support adding all columns at once, # this error is when they don't _LOGGER.info("Unable to use quick column add. Adding 1 by 1") @@ -229,7 +229,7 @@ def _add_columns(instance, table_name, columns_def): ) ) ) - except (InternalError, OperationalError) as err: + except (InternalError, OperationalError, ProgrammingError) as err: raise_if_exception_missing_str(err, ["already exists", "duplicate"]) _LOGGER.warning( "Column %s already exists on %s, continuing",