sourcegraph/internal/database
Keegan Carruthers-Smith 9981c14e40
migrations: avoid duplicate foreign key constraints when tenant_id re-run (#64465)
ALTER TABLE with a foreign key constraint will _always_ add the
constraint, which means we always require a table lock even if this
migration has run. So we check if the column exists first.

The motivation for this change was me noticing slow migrations against
S2, even though it had been migrated already. This speeds it up since it
avoids a bunch of locks.

In testing I kept running into issues with the lsif_* tables. We agreed
we will only migrate them later.

Test Plan: ran against my local instance and S2 multiple times and CI.
Also manually ran the down and up migration against dotcom
2024-08-14 16:57:32 +02:00
..
basestore db: Don't lose context when marking savepoints as done (#64361) 2024-08-09 10:16:06 +02:00
batch Replace all traditional for-loops (#60988) 2024-03-11 16:05:47 +02:00
connections migrations: avoid duplicate foreign key constraints when tenant_id re-run (#64465) 2024-08-14 16:57:32 +02:00
dbconn tenant: pprof for missing tenant in FromContext (#64405) 2024-08-12 13:00:03 +00:00
dbmocks authz: Drop requirement for installing authz providers in every service (#63743) 2024-07-31 01:23:34 +02:00
dbtest Syntactic indexing: enqueuer and scheduler (#62485) 2024-05-31 10:25:30 +01:00
dbutil codenotify: dr. fritz is kil (#57313) 2023-10-03 16:19:55 +00:00
fakedb Replace all traditional for-loops (#60988) 2024-03-11 16:05:47 +02:00
locker Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
migration migrations: remove support for NoTransaction (#64432) 2024-08-13 16:08:36 +00:00
postgresdsn Feature(appliance): db connection pinger and validator (#63884) 2024-07-22 22:34:42 +00:00
access_requests_test.go Improve cursor based pagination implementation (#58766) 2023-12-05 13:06:43 +01:00
access_requests.go [Request access] Add capturing of decision maker admin user id (#48496) 2023-03-02 12:31:39 +03:00
access_tokens_test.go Update Access token defaults (#60190) 2024-02-05 21:28:06 -05:00
access_tokens.go New setting to specify the maximum number of active access tokens a user is allowed (#59731) 2024-01-23 13:42:12 -05:00
assigned_owners_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
assigned_owners.go logger: update log lib and remove use of description (#57690) 2023-10-18 17:29:08 +02:00
assigned_teams_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
assigned_teams.go logger: update log lib and remove use of description (#57690) 2023-10-18 17:29:08 +02:00
authenticator_test.go Standardize database encryption (#40050) 2022-08-08 20:29:09 +00:00
authenticator.go feat(batches): implement {site,user} credential authenticator for github apps (#63616) 2024-07-04 04:14:23 -05:00
authz_test.go Remove watcher for permission mapper (#60809) 2024-03-12 23:12:36 +01:00
authz.go Remove watcher for permission mapper (#60809) 2024-03-12 23:12:36 +01:00
bitbucket_project_permissions_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
bitbucket_project_permissions.go internal/database: Remove unused transact func (#47312) 2023-02-02 11:41:30 +00:00
BUILD.bazel Prompt Library (#63872) 2024-07-18 16:04:55 -07:00
code_hosts_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
code_hosts.go Periodic Rate Limit config job (#55558) 2023-08-21 20:41:40 +00:00
code_monitor_action_jobs_test.go Backend: remove EnterpriseDB (#54699) 2023-07-06 20:03:31 -06:00
code_monitor_action_jobs.go Backend: remove EnterpriseDB (#54699) 2023-07-06 20:03:31 -06:00
code_monitor_emails_test.go monitors: show every users' code monitors to admins (#54981) 2023-07-24 12:11:15 +00:00
code_monitor_emails.go monitors: show every users' code monitors to admins (#54981) 2023-07-24 12:11:15 +00:00
code_monitor_last_searched_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
code_monitor_last_searched.go Backend: remove EnterpriseDB (#54699) 2023-07-06 20:03:31 -06:00
code_monitor_monitors.go code-monitors: handle soft-deleted users (#60405) 2024-02-13 14:30:39 +01:00
code_monitor_queries_test.go Backend: remove EnterpriseDB (#54699) 2023-07-06 20:03:31 -06:00
code_monitor_queries.go monitors: show every users' code monitors to admins (#54981) 2023-07-24 12:11:15 +00:00
code_monitor_recipient_test.go Backend: remove EnterpriseDB (#54699) 2023-07-06 20:03:31 -06:00
code_monitor_recipients.go Backend: remove EnterpriseDB (#54699) 2023-07-06 20:03:31 -06:00
code_monitor_slack_webhook_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
code_monitor_slack_webhook.go monitors: show every users' code monitors to admins (#54981) 2023-07-24 12:11:15 +00:00
code_monitor_test.go Backend: remove EnterpriseDB (#54699) 2023-07-06 20:03:31 -06:00
code_monitor_trigger_jobs_test.go code monitors: don't fail job if repo empty (#61367) 2024-04-02 09:30:59 +02:00
code_monitor_trigger_jobs.go code monitors: don't fail job if repo empty (#61367) 2024-04-02 09:30:59 +02:00
code_monitor_webhook_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
code_monitor_webhook.go monitors: show every users' code monitors to admins (#54981) 2023-07-24 12:11:15 +00:00
code_monitors.go Move record encrypter to worker package (#61900) 2024-04-16 10:16:58 +02:00
CODENOTIFY chore: update Codenotify subscriptions for Joe (#46978) 2023-01-26 11:27:00 +00:00
codeowners_test.go Replace all traditional for-loops (#60988) 2024-03-11 16:05:47 +02:00
codeowners.go Backend: remove EnterpriseDB (#54699) 2023-07-06 20:03:31 -06:00
conf_test.go Improve cursor based pagination implementation (#58766) 2023-12-05 13:06:43 +01:00
conf.go logger: update log lib and remove use of description (#57690) 2023-10-18 17:29:08 +02:00
database_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
database.go Prompt Library (#63872) 2024-07-18 16:04:55 -07:00
dbstore_db_test.go
doc.go
err_test.go
errors_test.go add database.NotFoundError helper type (#63671) 2024-07-05 14:26:19 +00:00
errors.go add database.NotFoundError helper type (#63671) 2024-07-05 14:26:19 +00:00
event_logs_scrape_state_own.go own: integrate signal configurations into resolvers and indexers (#52179) 2023-05-19 10:56:47 -07:00
event_logs_test.go Fix(search): querying event logs breaks when "id" column value > int32 (#63193) 2024-06-11 10:53:13 -07:00
event_logs.go Fix(search): querying event logs breaks when "id" column value > int32 (#63193) 2024-06-11 10:53:13 -07:00
executor_secret_access_logs_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
executor_secret_access_logs.go Database: convert Transact to WithTransact for stores that don't use their transactions (#47119) 2023-01-31 08:45:05 -07:00
executor_secrets_internal_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
executor_secrets_test.go misc improvements to graphqlbackend (#63943) 2024-07-19 09:44:14 +00:00
executor_secrets.go executor: Fix global secrets across namespaces colliding (#61045) 2024-03-13 13:39:52 +01:00
executors_test.go chore: Use min/max builtins over math.Max/math.Min (#62233) 2024-04-29 14:27:28 -04:00
executors.go Executors: enable dequeueing and heartbeating for multiple queues (#52016) 2023-06-04 13:25:05 +00:00
external_accounts_test.go scim: Fix user updates when SCIM was previously enabled (#63135) 2024-06-06 22:24:00 +02:00
external_accounts.go Using new function for security even logs (#59245) 2024-01-03 17:24:44 -05:00
external_services_external_test.go [fix] GH App Auth Validator missing db (#55994) 2023-08-21 11:26:14 +02:00
external_services_test.go dotcom: Remove on-demand cloning of repositories (#63321) 2024-06-26 14:53:14 -07:00
external_services.go dotcom: Remove on-demand cloning of repositories (#63321) 2024-06-26 14:53:14 -07:00
feature_flags_test.go Feature flags: relax some constraints (#61343) 2024-03-25 10:39:01 -06:00
feature_flags.go Feature flags: relax some constraints (#61343) 2024-03-25 10:39:01 -06:00
gitserver_repos_test.go dotcom: Remove on-demand cloning of repositories (#63321) 2024-06-26 14:53:14 -07:00
gitserver_repos.go dotcom: Remove on-demand cloning of repositories (#63321) 2024-06-26 14:53:14 -07:00
global_state_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
global_state.go jscontext: Use faster, non-blocking method to determine initialized state (#49336) 2023-03-15 01:38:57 +01:00
helpers_test.go chore: Move helper function to database package (#62543) 2024-05-08 17:25:01 +02:00
helpers.go make pagination hooks store filter & query params in URL, not just pagination params (#63744) 2024-07-15 19:17:59 +00:00
insights.go Backend: remove enterprise/internal (#54872) 2023-07-12 22:51:02 +02:00
main_test.go deps: upgrade github.com/sourcegraph/log (#41058) 2022-09-01 08:01:59 -07:00
mockerr.go permissions-center: add cancelPermissionsSyncJob mutation. (#48900) 2023-03-08 19:30:57 +04:00
namespace_permissions_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
namespace_permissions.go rbac: automate generation of namespaces & actions (#50855) 2023-05-10 18:47:23 +02:00
namespaces_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
namespaces.go Database: convert Transact to WithTransact for stores that don't use their transactions (#47119) 2023-01-31 08:45:05 -07:00
org_invitations_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
org_invitations.go Database: convert Transact to WithTransact for stores that don't use their transactions (#47119) 2023-01-31 08:45:05 -07:00
org_members_db_test.go remove unused code for org member summary & autocomplete (#63567) 2024-07-01 07:58:14 +00:00
org_members.go remove unused code for org member summary & autocomplete (#63567) 2024-07-01 07:58:14 +00:00
orgs_test.go chore: Change errors.HasType to respect multi-errors (#63024) 2024-06-06 13:02:14 +00:00
orgs.go Remove unnecessary dotcom checks (#61904) 2024-04-16 13:21:49 +02:00
outbound_webhook_jobs_test.go [chore] Refactored to use common pointers helper functions (#53441) 2023-06-14 16:48:44 +02:00
outbound_webhook_jobs.go webhooks: wait to enqueue webhook jobs until transaction completes (#49791) 2023-04-01 20:52:55 -07:00
outbound_webhook_logs_test.go Speed up some slow DB tests (#59131) 2023-12-20 17:42:23 +00:00
outbound_webhook_logs.go Database: convert Transact to WithTransact for stores that don't use their transactions (#47119) 2023-01-31 08:45:05 -07:00
outbound_webhooks_test.go Speed up some slow DB tests (#59131) 2023-12-20 17:42:23 +00:00
outbound_webhooks.go database: add outbound webhook tables (#46007) 2023-01-17 16:08:40 -08:00
own_signal_configurations_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
own_signal_configurations.go own: integrate signal configurations into resolvers and indexers (#52179) 2023-05-19 10:56:47 -07:00
ownership_stats_test.go chore: remove gotest.tools/assert (#58899) 2023-12-12 12:01:12 -08:00
ownership_stats.go own: don't count excluded paths in ownership analytics. (#54034) 2023-06-26 16:09:19 +04:00
permission_sync_code_host_state_test.go permissions-center: add is_partial_success permissions sync job property. (#50114) 2023-03-30 16:55:06 +04:00
permission_sync_code_host_state.go permissions-center: add is_partial_success permissions sync job property. (#50114) 2023-03-30 16:55:06 +04:00
permission_sync_jobs_test.go fix/graphql/database: fix repo permission sync count to ignore soft deleted repositories (#63298) 2024-06-17 13:35:27 -07:00
permission_sync_jobs.go fix/graphql/database: fix repo permission sync count to ignore soft deleted repositories (#63298) 2024-06-17 13:35:27 -07:00
permissions_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
permissions.go rbac: automate generation of namespaces & actions (#50855) 2023-05-10 18:47:23 +02:00
perms_store_test.go authz: Drop requirement for installing authz providers in every service (#63743) 2024-07-31 01:23:34 +02:00
perms_store.go authz: Drop requirement for installing authz providers in every service (#63743) 2024-07-31 01:23:34 +02:00
phabricator_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
phabricator.go chore: Change errors.HasType to respect multi-errors (#63024) 2024-06-06 13:02:14 +00:00
prompts_test.go fix saved searches and prompts list page for anon users (#63961) 2024-07-19 15:43:04 -07:00
prompts.go fix saved searches and prompts list page for anon users (#63961) 2024-07-19 15:43:04 -07:00
recent_contribution_signal_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
recent_contribution_signal.go Chore: remove a handful of unused code (#55686) 2023-08-09 12:52:55 -06:00
recent_view_signal_test.go Speed up some slow DB tests (#59131) 2023-12-20 17:42:23 +00:00
recent_view_signal.go Speed up some slow DB tests (#59131) 2023-12-20 17:42:23 +00:00
redis_key_value_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
redis_key_value.go redispool: use postgres for redispool.Store in App (#47188) 2023-02-03 12:59:05 +00:00
repo_commits_changelists_test.go feat(search): Make search aware of perforce changelist id mapping (#63563) 2024-07-09 14:01:05 -04:00
repo_commits_changelists.go feat(search): Make search aware of perforce changelist id mapping (#63563) 2024-07-09 14:01:05 -04:00
repo_kvps_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
repo_kvps.go Repo metadata: remove stray printlns (#55135) 2023-07-20 04:43:28 +00:00
repo_paths_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
repo_paths.go Replace all traditional for-loops (#60988) 2024-03-11 16:05:47 +02:00
repo_statistics_test.go repo statistics: coalesce when compacting table (#58710) 2023-12-01 16:34:33 +00:00
repo_statistics.go repo statistics: coalesce when compacting table (#58710) 2023-12-01 16:34:33 +00:00
repos_perm_test.go authz: Drop requirement for installing authz providers in every service (#63743) 2024-07-31 01:23:34 +02:00
repos_perm.go authz: Drop requirement for installing authz providers in every service (#63743) 2024-07-31 01:23:34 +02:00
repos_test.go authz: Drop requirement for installing authz providers in every service (#63743) 2024-07-31 01:23:34 +02:00
repos.go chore: Add docs for RepoStore methods (#64283) 2024-08-07 21:27:37 +08:00
role_permissions_test.go Replace all traditional for-loops (#60988) 2024-03-11 16:05:47 +02:00
role_permissions.go rbac: don't include OWNERSHIP permissions to USER role by default. (#53121) 2023-06-08 19:03:26 +04:00
roles_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
roles.go rbac: change role name to citext (#49109) 2023-03-10 17:36:11 +01:00
saved_searches_test.go fix saved searches and prompts list page for anon users (#63961) 2024-07-19 15:43:04 -07:00
saved_searches.go fix saved searches and prompts list page for anon users (#63961) 2024-07-19 15:43:04 -07:00
schema.codeinsights.json database: run tenant_id migration outside of a transaction (#64410) 2024-08-13 07:08:19 +02:00
schema.codeinsights.md database: run tenant_id migration outside of a transaction (#64410) 2024-08-13 07:08:19 +02:00
schema.codeintel.json database: run tenant_id migration outside of a transaction (#64410) 2024-08-13 07:08:19 +02:00
schema.codeintel.md database: run tenant_id migration outside of a transaction (#64410) 2024-08-13 07:08:19 +02:00
schema.json migrations: avoid duplicate foreign key constraints when tenant_id re-run (#64465) 2024-08-14 16:57:32 +02:00
schema.md migrations: avoid duplicate foreign key constraints when tenant_id re-run (#64465) 2024-08-14 16:57:32 +02:00
search_contexts_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
search_contexts.go add database.NotFoundError helper type (#63671) 2024-07-05 14:26:19 +00:00
security_event_logs_test.go Fix: ensure event.Argument is json (#59861) 2024-01-25 15:07:34 +00:00
security_event_logs.go Add support for Bitbucket Server OAuth2 (#64179) 2024-08-14 12:24:32 +02:00
settings_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
settings.go Tracing: final cleanups (#54694) 2023-07-13 10:16:11 +02:00
sub_repo_perms_store_test.go fix/database/sub_repo_perms: don't mark TestSubRepoPermsStore_GetByUserWithIPs as Parallel (#63958) 2024-07-19 13:51:48 -07:00
sub_repo_perms_store.go subrepo: More explicitly define supported hosts (#63650) 2024-07-31 03:41:50 +02:00
survey_responses_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
survey_responses.go chore: load user only once from the database in UserResolver. (#50228) 2023-04-03 15:51:32 +04:00
teams_test.go Replace all traditional for-loops (#60988) 2024-03-11 16:05:47 +02:00
teams.go handle deleted users when listing team members (#59471) 2024-01-10 23:12:30 +00:00
telemetry_export_store_test.go lib/telemetrygateway: publish all non-Sourcegraph-specific Telemetry Gateway bindings (#62061) 2024-04-22 14:36:46 -07:00
telemetry_export_store.go lib/telemetrygateway: publish all non-Sourcegraph-specific Telemetry Gateway bindings (#62061) 2024-04-22 14:36:46 -07:00
temporary_settings_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
temporary_settings.go database: remove dbutil-based constructors (#36210) 2022-05-30 23:48:20 +00:00
user_credentials_test.go feat(batches): implement {site,user} credential authenticator for github apps (#63616) 2024-07-04 04:14:23 -05:00
user_credentials.go feat: implement functionality to create credential GitHub apps (#63635) 2024-07-05 08:56:41 -05:00
user_emails_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
user_emails.go KS/set first verified email to primary (#55950) 2023-08-23 10:21:08 +03:00
user_roles_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
user_roles.go rbac: implement mutation for assigning roles to a user (#47717) 2023-03-09 13:03:06 +01:00
users_builtin_auth_test.go Refactor ExternalAccountsStore functions (#57509) 2023-10-13 10:41:10 +02:00
users_test.go various improvements to saved searches (#63539) 2024-07-15 20:12:34 +00:00
users.go Invalidate sessions on user deletion (#64445) 2024-08-14 12:00:10 +01:00
util_test.go Chore: replace pointer helpers with pointers package (#55687) 2023-08-09 19:11:06 +00:00
webhook_logs_test.go Chore: construct logger inside dbtest.NewDB (#57549) 2023-10-11 20:41:11 -05:00
webhook_logs.go Add webhook logging to new webhooks handler (#43446) 2022-10-27 09:58:37 -06:00
webhooks_test.go chore: Change errors.HasType to respect multi-errors (#63024) 2024-06-06 13:02:14 +00:00
webhooks.go Remove all unused code specified by linter warnings (#47015) 2023-01-27 13:17:36 +02:00
zoekt_repos_test.go Replace all traditional for-loops (#60988) 2024-03-11 16:05:47 +02:00
zoekt_repos.go search: use ReposMap for ListAllIndexed (#54886) 2023-07-13 06:59:39 +02:00