| import os |
| import shutil |
| import sqlite3 |
| import json |
|
|
| |
| BASE_DIR = "/home/aj/Downloads/CODIN" |
| BACKEND_DIR = os.path.join(BASE_DIR, "backend") |
| TMP_DIR = os.path.join(BACKEND_DIR, "tmp") |
| RUNS_DIR = os.path.join(BACKEND_DIR, "runs") |
| DB_PATH = os.path.join(BACKEND_DIR, "automl_studio.db") |
|
|
|
|
| def migrate_models(): |
| print(f"🚀 Starting model migration...") |
| print(f"📁 TMP_DIR: {TMP_DIR}") |
| print(f"📁 RUNS_DIR: {RUNS_DIR}") |
|
|
| if not os.path.exists(TMP_DIR): |
| print("❌ TMP_DIR not found. Nothing to migrate.") |
| return |
|
|
| os.makedirs(RUNS_DIR, exist_ok=True) |
|
|
| moved_count = 0 |
|
|
| for filename in os.listdir(TMP_DIR): |
| if not filename.endswith("_model.pkl"): |
| continue |
|
|
| job_id = filename.replace("_model.pkl", "") |
| src_path = os.path.join(TMP_DIR, filename) |
|
|
| if not os.path.isfile(src_path): |
| continue |
|
|
| dest_dir = os.path.join(RUNS_DIR, job_id, "artifacts") |
| try: |
| os.makedirs(dest_dir, exist_ok=True) |
| except Exception as e: |
| print(f"❌ Failed to create directory for {job_id}: {e}") |
| continue |
|
|
| dest_path = os.path.join(dest_dir, "model.pkl") |
|
|
| print(f"📦 Moving {filename} -> runs/{job_id}/artifacts/model.pkl") |
|
|
| try: |
| shutil.copy2(src_path, dest_path) |
| moved_count += 1 |
| except Exception as e: |
| print(f"❌ Failed to move {filename}: {e}") |
|
|
| print(f"✅ Migration complete. Moved {moved_count} models.") |
|
|
|
|
| if __name__ == "__main__": |
| try: |
| migrate_models() |
| except Exception as e: |
| print(f"❌ Migration failed: {e}") |