Commit 852ec9f6 authored by Erly Villaroel's avatar Erly Villaroel

Cambios en Cleaning.py

parent 1b1d0f08
......@@ -62,19 +62,19 @@ def validate_clean(control_params: Dict[str, Any], provider: str, timezone: str,
def clean(command: str, intern_conn):
delete_t = False
delete_p = False
engine = intern_conn.engine
tablename = command
with engine.connect() as conn:
result_t = bool(intern_conn.check_table(tablename, conn))
result_p = bool(intern_conn.check_procedure(tablename, conn))
if result_t:
logger.info(f"Borrando tabla {tablename}")
delete_t = delete_table(tablename, engine)
elif result_p:
logger.info(f"Borrando procedure {tablename}")
delete_p = delete_procedure(tablename, engine)
# with engine.connect() as conn:
# result_t = bool(intern_conn.check_table(tablename, conn))
# result_p = bool(intern_conn.check_procedure(tablename, conn))
# if result_t:
# logger.info(f"Borrando tabla {tablename}")
# delete_t = delete_table(tablename, engine)
# elif result_p:
# logger.info(f"Borrando procedure {tablename}")
# delete_p = delete_procedure(tablename, engine)
delete_p = delete_procedure(tablename, engine)
delete_t = delete_table(tablename, engine)
if delete_t:
logger.info(f"Borrado correctamente la tabla {tablename}")
elif delete_p:
......
import logging
import time
from typing import List
import re
logger = logging.getLogger()
......@@ -58,7 +58,7 @@ def delete_procedure(procedure: str, engine) -> bool:
start_time = time.time()
with engine.connect() as conn:
try:
proc = procedure.replace("(", "").replace(")", "")
proc = re.match(r'([^(]+)', procedure).group(1)
check_query = f"SELECT object_name FROM all_procedures WHERE object_name = '{proc.upper()}'"
result = conn.execute(check_query)
exists = bool(result.fetchone())
......
......@@ -2,7 +2,7 @@ from typing import List, Tuple
from sqlalchemy import create_engine
import oracledb
import re
from enums.DatabaseDialectEnum import DatabaseDialectEnum
from enums.DatabaseTypeEnum import DatabaseTypeEnum
from components.Databases.Enums.OracleDataTypeEnum import OracleDataTypeEnum
......@@ -90,6 +90,7 @@ class Oracle:
def generate_sql_procedure(self, command: str, reserved_word: str = "execute") -> str:
response = ""
try:
logger.info("COMANDO",command)
command = command.replace(reserved_word, "").replace(";", "")
response = f"BEGIN {command}; END;"
logger.debug("COMANDO ORACLE:", response)
......@@ -113,7 +114,7 @@ class Oracle:
def check_procedure(self, procedure_name, connection) -> bool:
exists = False
try:
procedure_name = procedure_name.replace("(", "").replace(")", "")
procedure_name = re.match(r'([^(]+)', procedure_name).group(1)
check_query = f"SELECT object_name FROM all_procedures WHERE object_name = '{procedure_name.upper()}'"
result = connection.execute(check_query)
exists = bool(result.fetchone())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment