@Dwisehaupt in order to roll this out during the maintenance window it's probably best if you run these 2 sql queries at a time that works for you. Once you have run them we can deploy the cover to switch our usage over & re-run the second query to mop up any transitional ones. I'm running the second query on staging now to try to get timings - but batching it is an option
The first query actually ran quickly on staging...
ALTER TABLE civicrm_contribution_tracking ADD COLUMN `banner_history_log_id` varchar(255) COMMENT 'Temporary banner history log ID to associate banner history EventLogging events.'
The second probably not so quick (oops didn't check back for an hour but was done then)
UPDATE civicrm_contribution_tracking t LEFT JOIN drupal.banner_history_contribution_associations b ON b.contribution_tracking_id = t.id SET t.banner_history_log_id = b.banner_history_log_id WHERE t.banner_history_log_id IS NULL