diff --git a/pipekit/jrunner.py b/pipekit/jrunner.py index 5162eae..d73f9e8 100644 --- a/pipekit/jrunner.py +++ b/pipekit/jrunner.py @@ -171,6 +171,11 @@ def migrate( argv.append("-t") if clear: argv.append("-c") + # SQL Server dest: stream via TDS bulk copy instead of INSERT...VALUES + # round trips (much faster on wide/large tables). jrunner -b is a no-op + # for non-SQL-Server dests, but only pass it where it applies. + if (dest_conn.get("jdbc_url") or "").lower().startswith("jdbc:sqlserver:"): + argv.append("-b") proc = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, env=_subprocess_env())