The bulk `mysql < file.sql` run aborted on the first "duplicate column"
error because some columns from an earlier partial run already existed.
apply_sql_tolerant.sh now runs each ALTER separately and only skips
MySQL errors 1060/1061/1091/1050 (duplicate column/key, missing to drop,
table exists) — any other error still stops the migration immediately.