본문 바로가기
카테고리 없음

Oracle Query Converter

by 조병희 2024. 6. 26.

LLM을 활용한 테이블 변경에 따른 쿼리 변환

  1. database.py: 데이터베이스 연결 및 테이블 구조 가져오기
  2. query_extractor.py: SQL 파일에서 쿼리 추출
  3. query_transformer.py: 쿼리 변환
  4. sql_updater.py: 변환된 쿼리를 SQL 파일에 삽입
  5. main.py: 전체 프로세스를 실행하는 메인 파일

oracle_query_converter.zip
0.00MB

 

from database import get_all_table_structures
from query_extractor import extract_queries
from query_transformer import transform_query
from sql_updater import update_sql_code
import os

# Oracle 데이터베이스 연결 정보
dsn = cx_Oracle.makedsn("host", "port", service_name="service_name")
user = "username"
password = "password"

# 전체 테이블 구조 가져오기
table_structures = get_all_table_structures(dsn, user, password)

# SQL 파일 읽기
sql_file_path = 'example.sql'
with open(sql_file_path, 'r') as file:
    sql_code = file.read()

# SQL 파일에서 쿼리 추출
queries = extract_queries(sql_code)

# 각 쿼리를 변환하고 SQL 코드 업데이트
for old_query in queries:
    new_query = transform_query(old_query, table_structures)
    sql_code = update_sql_code(sql_code, old_query, new_query)

# 업데이트된 SQL 파일 저장
new_sql_file_path = os.path.splitext(sql_file_path)[0] + '_conv.sql'
with open(new_sql_file_path, 'w') as file:
    file.write(sql_code)

print(f"SQL 파일이 성공적으로 업데이트되었습니다: {new_sql_file_path}")

 

댓글