Traversal IDs should be `bigint[]`

The following discussion from !52854 (merged) should be addressed:

  • @alexpooley started a discussion: (+3 comments)

    @tkuah I think ... we're done 🙃 Can you please perform maintainer review once more? 🙇

    Note that the int[] to bigint[] migration was dropped due to the added complexity. There's no pressing need for the migration.

From @ayufan:

I'm worried about this comment:

> Note that the `int[]` to `bigint[]` migration was dropped due to the added complexity. There's no pressing need for the migration.

I think that now we end-up with a complex migration to change a column type, where-as before we could simply drop it and recreate with a correct type.

Is there a follow-up for this?
From @alexpooley:

I responded on Slack, but for posterity here's the response.

The final reason we dropped the type issue was because there was so much capacity available in the int range. Also, the related fields of id and parent_id are integer as well so we either migrate these as well or cast them. Perhaps most important though, the backfill migration was already complicated enough and the database was melting so we figured we worry about that immediate challenge and delay column type migration for another day.

We did not create a follow up issue to migrate the column type. There are many integer keys in the system. It makes sense to me to do all of these as part of the same concerted effort.
From @ayufan:

> It makes sense to me to do all of these as part of the same concerted effort.

I kindly disagree. The migration of a column type is a very involved effort (as for example seen by changing other types), significantly more complex than done early. This is especially important here as we gonna depend on this column due to performance impact. Our guidelines is that all our new columns ID-type should use `bigint` for future proofing.

> We did not create a follow up issue to migrate the column type

Thanks, I looked at my comment https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52854#note_521251910 that first part was addressed, second was not. I believe we should and address this early.

Can we fix it when it is still easy? Add `traversal_ids8`, change all to use it, backfill, and drop old column? It should pretty much be: adding new column, changing all references to `_ids8`, re-running migration, before we start depend on it.