From 93d1dab63abff74573841ec71f33edec8790d860 Mon Sep 17 00:00:00 2001 From: Parker Date: Sun, 25 Feb 2024 18:13:03 -0600 Subject: [PATCH] Remove data for old links --- app/func/remove_old_data.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 app/func/remove_old_data.py diff --git a/app/func/remove_old_data.py b/app/func/remove_old_data.py new file mode 100644 index 0000000..7380fc5 --- /dev/null +++ b/app/func/remove_old_data.py @@ -0,0 +1,23 @@ +import sqlalchemy +import datetime + +from db import engine + +""" +Remove all links and associated records when the expire date has passed +""" +def remove_old_data(): + with engine.begin() as conn: + today = datetime.datetime.date(datetime.datetime.now()) + old_links = conn.execute(sqlalchemy.text('SELECT link FROM links WHERE expire_date < :today'), [{'today': today}]) + + delete_links = [] + + for row in old_links: + link = row.link + delete_links.append({'link': link}) + + with engine.begin() as conn: + conn.execute(sqlalchemy.text('DELETE FROM links WHERE link = :link'), delete_links) + conn.execute(sqlalchemy.text('DELETE FROM records WHERE link = :link'), delete_links) + conn.commit()