repo-updater: Support external_id migrations
Created by: tsenart
This change set makes it so we can support changes in what gets stored
in external_id
by the Syncer
. Previously we enforced that all three
of external_id
, external_service_type
and external_service_id
would be set OR unset, together.
But in order to change what gets stored in the external_id
column
using the Syncer
to essentially perform the migration, we need the
external_service_id
and external_service_type
columns to remain
intact, because we rely on external_service_type
to filter by kind in
DBStore.ListRepos
.
If we'd unset all of the three columns together, we wouldn't list any
repos, since they wouldn't be matched by the external_service_type
column.
Precursor to solving #3465 because it needs to change what we store in
the external_id
columns of AWS Code Commit repos to a stable
identifier.
Test plan: go test