From 0462121f69695ad831df4095c27f16d00920c21a Mon Sep 17 00:00:00 2001 From: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> Date: Sun, 24 May 2020 00:01:58 -0700 Subject: [PATCH] Fix deleteing duplicate rows from session history tables after import --- plexpy/database.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/plexpy/database.py b/plexpy/database.py index d617208e..00880e9a 100644 --- a/plexpy/database.py +++ b/plexpy/database.py @@ -152,11 +152,16 @@ def import_tautulli_db(database=None, method=None, backup=False): db.connection.execute('DETACH import_db') if method == 'merge': - for table, columns in table_columns.items(): + for table_name, columns in sorted(table_columns.items()): duplicate_columns = ', '.join([c for c in columns if c != 'id']) - logger.info("Tautulli Database :: Removing duplicate rows from database table '%s'.", table) - db.action('DELETE FROM {table} WHERE id NOT IN ' - '(SELECT MIN(id) FROM {table} GROUP BY {columns})'.format(table=table, columns=duplicate_columns)) + logger.info("Tautulli Database :: Removing duplicate rows from database table '%s'.", table_name) + if table_name in session_history_tables[1:]: + db.action('DELETE FROM {table} WHERE id NOT IN ' + '(SELECT id FROM session_history)'.format(table=table_name)) + else: + db.action('DELETE FROM {table} WHERE id NOT IN ' + '(SELECT MIN(id) FROM {table} GROUP BY {columns})'.format(table=table_name, + columns=duplicate_columns)) logger.info("Tautulli Database :: Deleting temporary database tables.") for table_name in session_history_tables: