Add existence checks around todos migration to ensure it is idempotent
Since this migration disables transactions, it's possible that the columns
and indexes are created but the migration is aborted in
the change_column_null
call. Check the existence of the
columns/foreign keys/indexes before attempting to add them to prevent
migration failures.
Relates to gitlab-org/release/tasks#312 (closed)
Edited by Stan Hu