MergeWorker job may be run before squash parameter is saved
<!--IssueSummary start-->
<details>
<summary>
Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards.
</summary>
- [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=32738)
</details>
<!--IssueSummary end-->
This came from https://gitlab.com/gitlab-org/gitlab/issues/32185#note_220152835. Right now it's possible that the `merge` flag isn't committed to the database before `MergeWorker` runs:
https://gitlab.com/gitlab-org/gitlab/blob/6f1bf83acdb68dc7eb2d83ec59c53ed5069b6a8e/app/controllers/projects/merge_requests_controller.rb#L274-287 updates the `squash` column.
We could fix this by:
1. Use `run_after_commit` if the `squash` parameter is updated
1. We appear to pass the `squash` parameter in `MergeWorker`. We could use that value as well.
issue