From 7f5cb9df775513f7e7a3a8c8ceb278687c2a8f1f Mon Sep 17 00:00:00 2001 From: sanj <67624670+iodrift@users.noreply.github.com> Date: Mon, 12 Aug 2024 21:19:48 -0700 Subject: [PATCH] Auto-update: Mon Aug 12 21:19:48 PDT 2024 --- sijapi/database.py | 2 +- .../helpers/migrate_query_tracking_to_uuid.sh | 35 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100755 sijapi/helpers/migrate_query_tracking_to_uuid.sh diff --git a/sijapi/database.py b/sijapi/database.py index 486b02e..cc96110 100644 --- a/sijapi/database.py +++ b/sijapi/database.py @@ -20,8 +20,8 @@ from zoneinfo import ZoneInfo from srtm import get_data import os import sys -import uuid from sqlalchemy.dialects.postgresql import UUID +import uuid from loguru import logger from sqlalchemy import text, select, func, and_ from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession diff --git a/sijapi/helpers/migrate_query_tracking_to_uuid.sh b/sijapi/helpers/migrate_query_tracking_to_uuid.sh new file mode 100755 index 0000000..f3e7556 --- /dev/null +++ b/sijapi/helpers/migrate_query_tracking_to_uuid.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# PostgreSQL connection details +DB_NAME="sij" +DB_USER="sij" +DB_PASSWORD="Synchr0!" +DB_HOST="localhost" +DB_PORT="5432" + +# Function to execute SQL commands +execute_sql() { + PGPASSWORD=$DB_PASSWORD psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -c "$1" +} + +# Main script +echo "Starting migration of query_tracking table..." + +# Enable uuid-ossp extension if not already enabled +execute_sql "CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\";" + +# Add a new UUID column +execute_sql "ALTER TABLE query_tracking ADD COLUMN new_id UUID DEFAULT uuid_generate_v4();" + +# Generate new UUIDs for all existing rows +execute_sql "UPDATE query_tracking SET new_id = uuid_generate_v4() WHERE new_id IS NULL;" + +# Drop the old id column and rename the new one +execute_sql "ALTER TABLE query_tracking DROP COLUMN id;" +execute_sql "ALTER TABLE query_tracking RENAME COLUMN new_id TO id;" + +# Set the new id column as primary key +execute_sql "ALTER TABLE query_tracking ADD PRIMARY KEY (id);" + +echo "Migration completed successfully!" +