{"nodes": [{"id": "$graphify-root$_backend_app_services_migrate_pg_py", "label": "migrate_pg.py", "file_type": "code", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L1"}, {"id": "$graphify-root$_backend_app_services_migrate_pg_table_names", "label": "table_names()", "file_type": "code", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L31", "_callable": true}, {"id": "$graphify-root$_backend_app_services_migrate_pg_table_columns", "label": "table_columns()", "file_type": "code", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L39", "_callable": true}, {"id": "$graphify-root$_backend_app_services_migrate_pg_normalize", "label": "_normalize()", "file_type": "code", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L45", "_callable": true}, {"id": "$graphify-root$_backend_app_services_migrate_pg_migrate_table", "label": "migrate_table()", "file_type": "code", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L99", "_callable": true}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/backend/app/services/migrate_pg.py"}, {"id": "$graphify-root$_backend_app_services_migrate_pg_insert_batch", "label": "_insert_batch()", "file_type": "code", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L127", "_callable": true}, {"id": "$graphify-root$_backend_app_services_migrate_pg_main", "label": "main()", "file_type": "code", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L135", "_callable": true}, {"id": "$graphify-root$_backend_app_services_migrate_pg_rationale_1", "label": "Migrasi data SQLite \u2192 PostgreSQL. Baca semua tabel dari SQLite (atlas.db), buat\u2026", "file_type": "rationale", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L1"}, {"id": "$graphify-root$_backend_app_services_migrate_pg_rationale_46", "label": "Normalisasi tipe data SQLite \u2192 Postgres.", "file_type": "rationale", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L46"}], "edges": [{"source": "$graphify-root$_backend_app_services_migrate_pg_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L12", "weight": 1.0, "_python_import_module": "os", "_python_import_bindings": [["os", "os"]], "_python_import_module_binding": true}, {"source": "$graphify-root$_backend_app_services_migrate_pg_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L13", "weight": 1.0, "_python_import_module": "sys", "_python_import_bindings": [["sys", "sys"]], "_python_import_module_binding": true}, {"source": "$graphify-root$_backend_app_services_migrate_pg_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L14", "weight": 1.0, "_python_import_module": "logging", "_python_import_bindings": [["logging", "logging"]], "_python_import_module_binding": true}, {"source": "$graphify-root$_backend_app_services_migrate_pg_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L15", "weight": 1.0, "_python_import_module": "datetime", "_python_import_bindings": [["datetime", "datetime"]]}, {"source": "$graphify-root$_backend_app_services_migrate_pg_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L19", "weight": 1.0, "_python_import_module": "sqlalchemy", "_python_import_bindings": [["create_engine", "create_engine"], ["text", "text"]]}, {"source": "$graphify-root$_backend_app_services_migrate_pg_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L20", "weight": 1.0, "_python_import_module": "sqlalchemy.orm", "_python_import_bindings": [["Session", "Session"]]}, {"source": "$graphify-root$_backend_app_services_migrate_pg_py", "target": "$graphify-root$_backend_app_services_migrate_pg_table_names", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_backend_app_services_migrate_pg_py", "target": "$graphify-root$_backend_app_services_migrate_pg_table_columns", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_backend_app_services_migrate_pg_py", "target": "$graphify-root$_backend_app_services_migrate_pg_normalize", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_backend_app_services_migrate_pg_py", "target": "$graphify-root$_backend_app_services_migrate_pg_migrate_table", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L99", "weight": 1.0}, {"source": "$graphify-root$_backend_app_services_migrate_pg_migrate_table", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L99", "weight": 1.0}, {"source": "$graphify-root$_backend_app_services_migrate_pg_py", "target": "$graphify-root$_backend_app_services_migrate_pg_insert_batch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L127", "weight": 1.0}, {"source": "$graphify-root$_backend_app_services_migrate_pg_insert_batch", "target": "session", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L127", "weight": 1.0}, {"source": "$graphify-root$_backend_app_services_migrate_pg_py", "target": "$graphify-root$_backend_app_services_migrate_pg_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L135", "weight": 1.0}, {"source": "$graphify-root$_backend_app_services_migrate_pg_migrate_table", "target": "$graphify-root$_backend_app_services_migrate_pg_table_columns", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_backend_app_services_migrate_pg_migrate_table", "target": "$graphify-root$_backend_app_services_migrate_pg_normalize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L114", "weight": 1.0}, {"source": "$graphify-root$_backend_app_services_migrate_pg_migrate_table", "target": "$graphify-root$_backend_app_services_migrate_pg_insert_batch", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L118", "weight": 1.0}, {"source": "$graphify-root$_backend_app_services_migrate_pg_main", "target": "$graphify-root$_backend_app_services_migrate_pg_table_names", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L154", "weight": 1.0}, {"source": "$graphify-root$_backend_app_services_migrate_pg_main", "target": "$graphify-root$_backend_app_services_migrate_pg_migrate_table", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L157", "weight": 1.0}, {"source": "$graphify-root$_backend_app_services_migrate_pg_rationale_1", "target": "$graphify-root$_backend_app_services_migrate_pg_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_backend_app_services_migrate_pg_rationale_46", "target": "$graphify-root$_backend_app_services_migrate_pg_normalize", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L46", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_table_names", "callee": "connect", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L32", "receiver": "sqlite_engine", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_table_names", "callee": "fetchall", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L33", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_table_names", "callee": "execute", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L33", "receiver": "conn", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_table_names", "callee": "text", "is_member_call": false, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L33", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_table_columns", "callee": "connect", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L40", "receiver": "sqlite_engine", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_table_columns", "callee": "fetchall", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L41", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_table_columns", "callee": "execute", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L41", "receiver": "conn", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_table_columns", "callee": "text", "is_member_call": false, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L41", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_normalize", "callee": "get", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L52", "receiver": "bool_cols", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_normalize", "callee": "get", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L62", "receiver": "enc_cols", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_normalize", "callee": "get", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L63", "receiver": "row_dict", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_normalize", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L64"}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_normalize", "callee": "startswith", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L64", "receiver": "v", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_normalize", "callee": "decode", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L66", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_normalize", "callee": "fromhex", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L66", "receiver": "bytes", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_normalize", "callee": "get", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L84", "receiver": "ts_cols", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_normalize", "callee": "get", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L85", "receiver": "row_dict", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_normalize", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L86"}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_normalize", "callee": "strptime", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L89", "receiver": "datetime", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_normalize", "callee": "strptime", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L92", "receiver": "datetime", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_migrate_table", "callee": "join", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L101", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_migrate_table", "callee": "join", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L102", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_migrate_table", "callee": "fetchall", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L105", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_migrate_table", "callee": "execute", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L105", "receiver": "se", "_python_receiver_shadowed": true, "receiver_type": "Session"}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_migrate_table", "callee": "text", "is_member_call": false, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L105", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_migrate_table", "callee": "info", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L107", "receiver": "logger", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_migrate_table", "callee": "append", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L115", "receiver": "batch", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_migrate_table", "callee": "info", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L123", "receiver": "logger", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_insert_batch", "callee": "join", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L128", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_insert_batch", "callee": "join", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L129", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_insert_batch", "callee": "text", "is_member_call": false, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L130", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_insert_batch", "callee": "execute", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L131", "receiver": "pe", "_python_receiver_shadowed": true, "receiver_type": "Session"}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_insert_batch", "callee": "commit", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L132", "receiver": "pe", "_python_receiver_shadowed": true, "receiver_type": "Session"}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "create_engine", "is_member_call": false, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L136", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "SQLITE_URL", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L136"}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "create_engine", "is_member_call": false, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L137", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "PG_URL", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "backend/app/services/migrate_pg.py", "source_location": "L137"}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "Session", "is_member_call": false, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L139", "receiver": null, "via_stub": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "Session", "is_member_call": false, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L140", "receiver": null, "via_stub": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "execute", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L144", "receiver": "pe", "_python_receiver_shadowed": true, "receiver_type": "Session"}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "text", "is_member_call": false, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L144", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "commit", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L145", "receiver": "pe", "_python_receiver_shadowed": true, "receiver_type": "Session"}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "create_all", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L150", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "info", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L151", "receiver": "logger", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "execute", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L161", "receiver": "pe", "_python_receiver_shadowed": true, "receiver_type": "Session"}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "text", "is_member_call": false, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L161", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "commit", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L162", "receiver": "pe", "_python_receiver_shadowed": true, "receiver_type": "Session"}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "execute", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L167", "receiver": "pe", "_python_receiver_shadowed": true, "receiver_type": "Session"}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "text", "is_member_call": false, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L167", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "commit", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L173", "receiver": "pe", "_python_receiver_shadowed": true, "receiver_type": "Session"}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "close", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L177", "receiver": "se", "_python_receiver_shadowed": true, "receiver_type": "Session"}, {"caller_nid": "$graphify-root$_backend_app_services_migrate_pg_main", "callee": "close", "is_member_call": true, "source_file": "backend/app/services/migrate_pg.py", "source_location": "L178", "receiver": "pe", "_python_receiver_shadowed": true, "receiver_type": "Session"}]}