Update Otp Table Maintenance/otp_table_maintenance.py

This commit is contained in:
ashutosh.nehete 2025-06-10 11:40:42 +00:00
parent fd64646ceb
commit d8b7989757

View File

@ -1,55 +1,55 @@
import os import os
import mysql.connector import mysql.connector
from dotenv import load_dotenv # Import load_dotenv from dotenv import load_dotenv # Import load_dotenv
from datetime import datetime, timedelta, timezone from datetime import datetime, timedelta, timezone
# Current UTC time # Current UTC time
now_utc = datetime.now(timezone.utc) now_utc = datetime.now(timezone.utc)
# Subtract 10 minutes # Subtract 10 minutes
expiry_time = now_utc - timedelta(minutes=10) expiry_time = now_utc - timedelta(minutes=10)
print("10 minutes ago (UTC):", expiry_time) print("10 minutes ago (UTC):", expiry_time)
# Load environment variables from .env file # Load environment variables from .env file
load_dotenv() load_dotenv()
# --- Configuration --- # --- Configuration ---
# Variables are now loaded from the .env file using os.getenv() # Variables are now loaded from the .env file using os.getenv()
DB_HOST = os.getenv("DB_HOST") DB_HOST = os.getenv("DB_HOST")
DB_USER = os.getenv("DB_USER") DB_USER = os.getenv("DB_USER")
DB_PASSWORD = os.getenv("DB_PASSWORD") DB_PASSWORD = os.getenv("DB_PASSWORD")
DB_NAME_PROD = os.getenv("DB_NAME_PROD") DB_NAME_PROD = os.getenv("DB_NAME_PROD")
DB_NAME_STAGE = os.getenv("DB_NAME_STAGE") DB_NAME_STAGE = os.getenv("DB_NAME_STAGE")
DB_NAME_DEV = os.getenv("DB_NAME_DEV") # DB_NAME_DEV = os.getenv("DB_NAME_DEV")
def start_remove(db_name): def start_remove(db_name):
# Connect to MySQL # Connect to MySQL
connection = mysql.connector.connect( connection = mysql.connector.connect(
host=DB_HOST, host=DB_HOST,
user=DB_USER, user=DB_USER,
password=DB_PASSWORD, password=DB_PASSWORD,
database=db_name, database=db_name,
) )
cursor = connection.cursor() cursor = connection.cursor()
# SQL query to delete a row # SQL query to delete a row
delete_query = "DELETE FROM OTPDetails WHERE IsUsed = true || TimeStamp < %s" delete_query = "DELETE FROM OTPDetails WHERE IsUsed = true || TimeStamp < %s"
# Execute the query # Execute the query
cursor.execute(delete_query, (expiry_time,)) cursor.execute(delete_query, (expiry_time,))
# Commit the changes # Commit the changes
connection.commit() connection.commit()
print(f"{cursor.rowcount} row(s) deleted.") print(f"{cursor.rowcount} row(s) deleted.")
# Close connection # Close connection
cursor.close() cursor.close()
if __name__ == "__main__": if __name__ == "__main__":
databases_to_remove = [DB_NAME_PROD, DB_NAME_STAGE] databases_to_remove = [DB_NAME_PROD, DB_NAME_STAGE]
for db_name in databases_to_remove: for db_name in databases_to_remove:
start_remove(db_name) start_remove(db_name)
# start_remove(DB_NAME_DEV) # start_remove(DB_NAME_DEV)