حذف psql_psql_migrator.py

هذا الالتزام موجود في:
2026-01-16 23:07:12 +00:00
الأصل 4ce62a08b3
التزام 1a57661a9a

عرض الملف

@@ -1,47 +0,0 @@
# -*- coding: utf-8 -*-
import os, subprocess, json
def update_progress(status, message, percent=0):
with open("pg_progress.json", "w") as f:
json.dump({"status": status, "message": message, "percent": percent}, f)
def migrate():
# استلام البيانات
S_HOST, S_NAME, S_USER, S_PASS = os.getenv("DB_HOST"), os.getenv("DB_NAME"), os.getenv("DB_USER"), os.getenv("DB_PASS")
T_HOST, T_NAME, T_USER, T_PASS = os.getenv("DEST_HOST"), os.getenv("DEST_NAME"), os.getenv("DEST_USER"), os.getenv("DEST_PASS")
schemas = os.getenv("ONLY_SCHEMAS", "").strip()
tables = os.getenv("ONLY_TABLES", "").strip()
filter_args = ""
# إذا تم اختيار جداول محددة، نكتفي بها
if tables:
for t in tables.split(','):
filter_args += f" -t {t.strip()}"
# إذا لم تُحدد جداول ولكن حُددت Schemas، ننقل الـ Schemas بالكامل
elif schemas:
for s in schemas.split(','):
filter_args += f" -n {s.strip()}"
update_progress("running", "بدء ضخ البيانات المختارة...", 30)
os.environ['PGPASSWORD'] = S_PASS
migrate_cmd = (
f"pg_dump -h {S_HOST} -U {S_USER} {filter_args} --clean --if-exists --no-owner {S_NAME} | "
f"PGPASSWORD={T_PASS} psql -h {T_HOST} -U {T_USER} -d {T_NAME}"
)
try:
process = subprocess.Popen(migrate_cmd, shell=True, stderr=subprocess.PIPE)
update_progress("running", "جاري نقل الهياكل والبيانات...", 70)
_, stderr = process.communicate()
if process.returncode == 0:
update_progress("completed", "نجحت عملية النقل المخصصة! ✅", 100)
else:
update_progress("error", f"خطأ: {stderr.decode()}", 0)
except Exception as e:
update_progress("error", str(e), 0)
if __name__ == "__main__":
migrate()