PGSQL转ORACLE

创建日期:2024-09-07
更新日期:2024-12-06

pgsql2oracle.py

import re

names = [
    "device_sync_field_config",
    "device_sync_layer_config",
    "device_sync_type_config",
]

time_pattern = r"'(\d{4}-\d{2}-\d{2})\s+(\d{2}:\d{2}:\d{2})'"
time_sql = r"TO_DATE('\1 \2', 'YYYY-MM-DD HH24:MI:SS')"

def pgsql2oracle(sql: str):
    sql = sql.replace('"', "")
    sql = re.sub(time_pattern, time_sql, sql)
    return sql

def start():
    for name in names:
        source_path = f"./postgresql/{name}.sql"
        target_path = f"./oracle/{name}.sql"
        file = open(source_path, "r", encoding="utf-8")
        data = file.read()
        file.close()
        data = pgsql2oracle(data)
        file = open(target_path, "w", encoding="utf-8")
        file.write(data)
        file.close()

if __name__ == "__main__":
    start()