mirror of
https://github.com/sourcegraph/sourcegraph.git
synced 2026-02-06 11:01:44 +00:00
migrations: use COMMIT AND CHAIN for tenant_id (#64431)
We dived into our go postgres driver and when executing a migration it is executed as a "simple query". Postgres in this case automatically wraps the collection of statements in a transaction, unless it contains transaction statements. So our last attempt at removing the transaction failed. In this attempt we use COMMIT AND CHAIN after each table alter. What this does is commit the current transaction and then starts it up again. From the perspective of the go driver, it is as if there was only one transaction. We then switch the migration to using a transaction to ensure the go drivers clean up the postgres connection in case of failure. IE if a query manually starts a transaction and does not clean up, the connection will be marked as broken for the next person who gets the connection from the pool. By wrapping in go's transaction code the connection will be properly cleaned up. Test Plan: All continuous environments have already succeeded or failed on this migration number. So we will manually run this again against them with the migrator code to ensure the same code paths. If they succeed we will keep code as is, otherwise we will rollback. Additionally we did lots of adhoc testing to understand the characteristics of go and transaction handling. Co-authored-by: Erik Seliger <erikseliger@me.com>
This commit is contained in:
parent
7b1bc10a30
commit
e93b69bef2
192
dev/backcompat/patches/5.6.0/migrator_migrations.patch
Normal file
192
dev/backcompat/patches/5.6.0/migrator_migrations.patch
Normal file
@ -0,0 +1,192 @@
|
||||
diff --git a/internal/database/connections/live/BUILD.bazel b/internal/database/connections/live/BUILD.bazel
|
||||
index cd397a24b1a..e2b0ba10c9d 100644
|
||||
--- a/internal/database/connections/live/BUILD.bazel
|
||||
+++ b/internal/database/connections/live/BUILD.bazel
|
||||
@@ -35,6 +35,7 @@ go_test(
|
||||
],
|
||||
deps = [
|
||||
"//internal/database/dbtest",
|
||||
+ "//internal/database/migration/definition",
|
||||
"//internal/database/migration/drift",
|
||||
"//internal/database/migration/runner",
|
||||
"//internal/database/migration/schemas",
|
||||
diff --git a/internal/database/connections/live/migration_test.go b/internal/database/connections/live/migration_test.go
|
||||
index 18938f332c6..8880ec58259 100644
|
||||
--- a/internal/database/connections/live/migration_test.go
|
||||
+++ b/internal/database/connections/live/migration_test.go
|
||||
@@ -2,6 +2,7 @@ package connections
|
||||
|
||||
import (
|
||||
"context"
|
||||
+ "database/sql"
|
||||
"fmt"
|
||||
"strings"
|
||||
"testing"
|
||||
@@ -12,6 +13,7 @@ import (
|
||||
"github.com/sourcegraph/log/logtest"
|
||||
|
||||
"github.com/sourcegraph/sourcegraph/internal/database/dbtest"
|
||||
+ "github.com/sourcegraph/sourcegraph/internal/database/migration/definition"
|
||||
"github.com/sourcegraph/sourcegraph/internal/database/migration/drift"
|
||||
"github.com/sourcegraph/sourcegraph/internal/database/migration/runner"
|
||||
"github.com/sourcegraph/sourcegraph/internal/database/migration/schemas"
|
||||
@@ -129,7 +131,7 @@ func testMigrationIdempotency(t *testing.T, name string, schema *schemas.Schema)
|
||||
|
||||
t.Run("idempotent up", func(t *testing.T) {
|
||||
for _, definition := range all {
|
||||
- if _, err := db.Exec(definition.UpQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
+ if err := applyMigration(db, definition, true); err != nil {
|
||||
t.Fatalf("failed to perform upgrade of migration %d: %s", definition.ID, err)
|
||||
}
|
||||
|
||||
@@ -139,7 +141,7 @@ func testMigrationIdempotency(t *testing.T, name string, schema *schemas.Schema)
|
||||
continue
|
||||
}
|
||||
|
||||
- if _, err := db.Exec(definition.UpQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
+ if err := applyMigration(db, definition, true); err != nil {
|
||||
t.Fatalf("migration %d is not idempotent%s: %s", definition.ID, formatHint(err), err)
|
||||
}
|
||||
}
|
||||
@@ -149,7 +151,7 @@ func testMigrationIdempotency(t *testing.T, name string, schema *schemas.Schema)
|
||||
for i := len(all) - 1; i >= 0; i-- {
|
||||
definition := all[i]
|
||||
|
||||
- if _, err := db.Exec(definition.DownQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
+ if err := applyMigration(db, definition, false); err != nil {
|
||||
t.Fatalf("failed to perform downgrade of migration %d: %s", definition.ID, err)
|
||||
}
|
||||
|
||||
@@ -159,7 +161,7 @@ func testMigrationIdempotency(t *testing.T, name string, schema *schemas.Schema)
|
||||
continue
|
||||
}
|
||||
|
||||
- if _, err := db.Exec(definition.DownQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
+ if err := applyMigration(db, definition, false); err != nil {
|
||||
t.Fatalf("migration %d is not idempotent%s: %s", definition.ID, formatHint(err), err)
|
||||
}
|
||||
}
|
||||
@@ -183,7 +185,7 @@ func testDownMigrationsDoNotCreateDrift(t *testing.T, name string, schema *schem
|
||||
expectedDescription := expectedDescriptions["public"]
|
||||
|
||||
// Run query up
|
||||
- if _, err := db.Exec(definition.UpQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
+ if err := applyMigration(db, definition, true); err != nil {
|
||||
t.Fatalf("failed to perform upgrade of migration %d: %s", definition.ID, err)
|
||||
}
|
||||
|
||||
@@ -194,7 +196,7 @@ func testDownMigrationsDoNotCreateDrift(t *testing.T, name string, schema *schem
|
||||
}
|
||||
|
||||
// Run query down (should restore previous state)
|
||||
- if _, err := db.Exec(definition.DownQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
+ if err := applyMigration(db, definition, false); err != nil {
|
||||
t.Fatalf("failed to perform downgrade of migration %d: %s", definition.ID, err)
|
||||
}
|
||||
|
||||
@@ -232,7 +234,7 @@ func testDownMigrationsDoNotCreateDrift(t *testing.T, name string, schema *schem
|
||||
}
|
||||
|
||||
// Re-run query up to prepare for next round
|
||||
- if _, err := db.Exec(definition.UpQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
+ if err := applyMigration(db, definition, true); err != nil {
|
||||
t.Fatalf("failed to re-perform upgrade of migration %d: %s", definition.ID, err)
|
||||
}
|
||||
}
|
||||
@@ -264,3 +266,38 @@ func formatHint(err error) string {
|
||||
|
||||
return ""
|
||||
}
|
||||
+
|
||||
+// applyMigration applies migrations for testing. In real-world, they run inside of a
|
||||
+// transaction, sp we mimic that in this helper as well.
|
||||
+func applyMigration(db *sql.DB, definition definition.Definition, up bool) (err error) {
|
||||
+ type execer interface {
|
||||
+ Exec(query string, args ...any) (sql.Result, error)
|
||||
+ }
|
||||
+ var queryRunner execer = db
|
||||
+
|
||||
+ if !definition.IsCreateIndexConcurrently {
|
||||
+ tx, err := db.BeginTx(context.Background(), &sql.TxOptions{})
|
||||
+ if err != nil {
|
||||
+ return err
|
||||
+ }
|
||||
+ queryRunner = tx
|
||||
+ defer func() {
|
||||
+ if err != nil {
|
||||
+ err = errors.Append(err, tx.Rollback())
|
||||
+ }
|
||||
+ err = tx.Commit()
|
||||
+ }()
|
||||
+ }
|
||||
+
|
||||
+ if up {
|
||||
+ if _, err := queryRunner.Exec(definition.UpQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
+ return errors.Wrapf(err, "failed to apply migration %d:\n```\n%s\n```\n", definition.ID, definition.UpQuery.Query(sqlf.PostgresBindVar))
|
||||
+ }
|
||||
+ } else {
|
||||
+ if _, err := queryRunner.Exec(definition.DownQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
+ return errors.Wrapf(err, "failed to apply migration %d:\n```\n%s\n```\n", definition.ID, definition.DownQuery.Query(sqlf.PostgresBindVar))
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return nil
|
||||
+}
|
||||
diff --git a/internal/database/connections/test/store.go b/internal/database/connections/test/store.go
|
||||
index bd4439c96a1..df755f98920 100644
|
||||
--- a/internal/database/connections/test/store.go
|
||||
+++ b/internal/database/connections/test/store.go
|
||||
@@ -17,6 +17,7 @@ import (
|
||||
// not passed to any underlying persistence layer.
|
||||
type memoryStore struct {
|
||||
db *sql.DB
|
||||
+ tx *sql.Tx
|
||||
appliedVersions []int
|
||||
pendingVersions []int
|
||||
failedVersions []int
|
||||
@@ -28,11 +29,25 @@ func newMemoryStore(db *sql.DB) runner.Store {
|
||||
}
|
||||
}
|
||||
|
||||
-func (s *memoryStore) Transact(ctx context.Context) (runner.Store, error) {
|
||||
- return s, nil
|
||||
+func (s *memoryStore) Transact(ctx context.Context) (_ runner.Store, err error) {
|
||||
+ if s.tx != nil {
|
||||
+ return nil, errors.New("cannot start transaction when another transaction is in progress, call Done before")
|
||||
+ }
|
||||
+ s.tx, err = s.db.BeginTx(ctx, &sql.TxOptions{})
|
||||
+ return s, err
|
||||
}
|
||||
|
||||
func (s *memoryStore) Done(err error) error {
|
||||
+ defer func() {
|
||||
+ s.tx = nil
|
||||
+ }()
|
||||
+
|
||||
+ if s.tx != nil {
|
||||
+ if err != nil {
|
||||
+ return errors.Append(err, s.tx.Rollback())
|
||||
+ }
|
||||
+ return s.tx.Commit()
|
||||
+ }
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -68,8 +83,16 @@ func (s *memoryStore) IndexStatus(_ context.Context, _, _ string) (shared.IndexS
|
||||
return shared.IndexStatus{}, false, nil
|
||||
}
|
||||
|
||||
+type execContexter interface {
|
||||
+ ExecContext(ctx context.Context, query string, args ...any) (sql.Result, error)
|
||||
+}
|
||||
+
|
||||
func (s *memoryStore) exec(ctx context.Context, migration definition.Definition, query *sqlf.Query) error {
|
||||
- _, err := s.db.ExecContext(ctx, query.Query(sqlf.PostgresBindVar), query.Args()...)
|
||||
+ var db execContexter = s.db
|
||||
+ if s.tx != nil {
|
||||
+ db = s.tx
|
||||
+ }
|
||||
+ _, err := db.ExecContext(ctx, query.Query(sqlf.PostgresBindVar), query.Args()...)
|
||||
if err != nil {
|
||||
s.failedVersions = append(s.failedVersions, migration.ID)
|
||||
return err
|
||||
@ -35,6 +35,7 @@ go_test(
|
||||
],
|
||||
deps = [
|
||||
"//internal/database/dbtest",
|
||||
"//internal/database/migration/definition",
|
||||
"//internal/database/migration/drift",
|
||||
"//internal/database/migration/runner",
|
||||
"//internal/database/migration/schemas",
|
||||
|
||||
@ -2,6 +2,7 @@ package connections
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"strings"
|
||||
"testing"
|
||||
@ -12,6 +13,7 @@ import (
|
||||
"github.com/sourcegraph/log/logtest"
|
||||
|
||||
"github.com/sourcegraph/sourcegraph/internal/database/dbtest"
|
||||
"github.com/sourcegraph/sourcegraph/internal/database/migration/definition"
|
||||
"github.com/sourcegraph/sourcegraph/internal/database/migration/drift"
|
||||
"github.com/sourcegraph/sourcegraph/internal/database/migration/runner"
|
||||
"github.com/sourcegraph/sourcegraph/internal/database/migration/schemas"
|
||||
@ -129,7 +131,7 @@ func testMigrationIdempotency(t *testing.T, name string, schema *schemas.Schema)
|
||||
|
||||
t.Run("idempotent up", func(t *testing.T) {
|
||||
for _, definition := range all {
|
||||
if _, err := db.Exec(definition.UpQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
if err := applyMigration(db, definition, true); err != nil {
|
||||
t.Fatalf("failed to perform upgrade of migration %d: %s", definition.ID, err)
|
||||
}
|
||||
|
||||
@ -139,7 +141,7 @@ func testMigrationIdempotency(t *testing.T, name string, schema *schemas.Schema)
|
||||
continue
|
||||
}
|
||||
|
||||
if _, err := db.Exec(definition.UpQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
if err := applyMigration(db, definition, true); err != nil {
|
||||
t.Fatalf("migration %d is not idempotent%s: %s", definition.ID, formatHint(err), err)
|
||||
}
|
||||
}
|
||||
@ -149,7 +151,7 @@ func testMigrationIdempotency(t *testing.T, name string, schema *schemas.Schema)
|
||||
for i := len(all) - 1; i >= 0; i-- {
|
||||
definition := all[i]
|
||||
|
||||
if _, err := db.Exec(definition.DownQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
if err := applyMigration(db, definition, false); err != nil {
|
||||
t.Fatalf("failed to perform downgrade of migration %d: %s", definition.ID, err)
|
||||
}
|
||||
|
||||
@ -159,7 +161,7 @@ func testMigrationIdempotency(t *testing.T, name string, schema *schemas.Schema)
|
||||
continue
|
||||
}
|
||||
|
||||
if _, err := db.Exec(definition.DownQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
if err := applyMigration(db, definition, false); err != nil {
|
||||
t.Fatalf("migration %d is not idempotent%s: %s", definition.ID, formatHint(err), err)
|
||||
}
|
||||
}
|
||||
@ -183,7 +185,7 @@ func testDownMigrationsDoNotCreateDrift(t *testing.T, name string, schema *schem
|
||||
expectedDescription := expectedDescriptions["public"]
|
||||
|
||||
// Run query up
|
||||
if _, err := db.Exec(definition.UpQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
if err := applyMigration(db, definition, true); err != nil {
|
||||
t.Fatalf("failed to perform upgrade of migration %d: %s", definition.ID, err)
|
||||
}
|
||||
|
||||
@ -194,7 +196,7 @@ func testDownMigrationsDoNotCreateDrift(t *testing.T, name string, schema *schem
|
||||
}
|
||||
|
||||
// Run query down (should restore previous state)
|
||||
if _, err := db.Exec(definition.DownQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
if err := applyMigration(db, definition, false); err != nil {
|
||||
t.Fatalf("failed to perform downgrade of migration %d: %s", definition.ID, err)
|
||||
}
|
||||
|
||||
@ -232,7 +234,7 @@ func testDownMigrationsDoNotCreateDrift(t *testing.T, name string, schema *schem
|
||||
}
|
||||
|
||||
// Re-run query up to prepare for next round
|
||||
if _, err := db.Exec(definition.UpQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
if err := applyMigration(db, definition, true); err != nil {
|
||||
t.Fatalf("failed to re-perform upgrade of migration %d: %s", definition.ID, err)
|
||||
}
|
||||
}
|
||||
@ -264,3 +266,38 @@ func formatHint(err error) string {
|
||||
|
||||
return ""
|
||||
}
|
||||
|
||||
// applyMigration applies migrations for testing. In real-world, they run inside of a
|
||||
// transaction, sp we mimic that in this helper as well.
|
||||
func applyMigration(db *sql.DB, definition definition.Definition, up bool) (err error) {
|
||||
type execer interface {
|
||||
Exec(query string, args ...any) (sql.Result, error)
|
||||
}
|
||||
var queryRunner execer = db
|
||||
|
||||
if !definition.IsCreateIndexConcurrently && !definition.NoTransaction {
|
||||
tx, err := db.BeginTx(context.Background(), &sql.TxOptions{})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
queryRunner = tx
|
||||
defer func() {
|
||||
if err != nil {
|
||||
err = errors.Append(err, tx.Rollback())
|
||||
}
|
||||
err = tx.Commit()
|
||||
}()
|
||||
}
|
||||
|
||||
if up {
|
||||
if _, err := queryRunner.Exec(definition.UpQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
return errors.Wrapf(err, "failed to apply migration %d:\n```\n%s\n```\n", definition.ID, definition.UpQuery.Query(sqlf.PostgresBindVar))
|
||||
}
|
||||
} else {
|
||||
if _, err := queryRunner.Exec(definition.DownQuery.Query(sqlf.PostgresBindVar)); err != nil {
|
||||
return errors.Wrapf(err, "failed to apply migration %d:\n```\n%s\n```\n", definition.ID, definition.DownQuery.Query(sqlf.PostgresBindVar))
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -6,25 +6,25 @@ BEGIN
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
SELECT migrate_add_tenant_id_codeinsights('archived_insight_series_recording_times');
|
||||
SELECT migrate_add_tenant_id_codeinsights('archived_series_points');
|
||||
SELECT migrate_add_tenant_id_codeinsights('dashboard');
|
||||
SELECT migrate_add_tenant_id_codeinsights('dashboard_grants');
|
||||
SELECT migrate_add_tenant_id_codeinsights('dashboard_insight_view');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_series');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_series_backfill');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_series_incomplete_points');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_series_recording_times');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_view');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_view_grants');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_view_series');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insights_background_jobs');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insights_data_retention_jobs');
|
||||
SELECT migrate_add_tenant_id_codeinsights('metadata');
|
||||
SELECT migrate_add_tenant_id_codeinsights('repo_iterator');
|
||||
SELECT migrate_add_tenant_id_codeinsights('repo_iterator_errors');
|
||||
SELECT migrate_add_tenant_id_codeinsights('repo_names');
|
||||
SELECT migrate_add_tenant_id_codeinsights('series_points');
|
||||
SELECT migrate_add_tenant_id_codeinsights('series_points_snapshots');
|
||||
SELECT migrate_add_tenant_id_codeinsights('archived_insight_series_recording_times'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('archived_series_points'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('dashboard'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('dashboard_grants'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('dashboard_insight_view'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_series'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_series_backfill'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_series_incomplete_points'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_series_recording_times'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_view'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_view_grants'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_view_series'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insights_background_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insights_data_retention_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('metadata'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('repo_iterator'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('repo_iterator_errors'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('repo_names'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('series_points'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('series_points_snapshots'); COMMIT AND CHAIN;
|
||||
|
||||
DROP FUNCTION migrate_add_tenant_id_codeinsights(text);
|
||||
|
||||
@ -1,3 +1,2 @@
|
||||
name: add tenant id to most tables
|
||||
noTransaction: true
|
||||
parents: [1719914228]
|
||||
|
||||
@ -1,6 +1,10 @@
|
||||
-- This migration adds the tenant_id column in a way which doesn't require
|
||||
-- updating every row. The value is null and an out of band migration will set
|
||||
-- it to the default. A later migration will enforce tenant_id to be set.
|
||||
--
|
||||
-- We COMMIT AND CHAIN after each table is altered to prevent a single
|
||||
-- transaction over all the alters. A single transaction would lead to a
|
||||
-- deadlock with concurrent application queries.
|
||||
|
||||
-- Temporary function to deduplicate the logic required for each table:
|
||||
CREATE OR REPLACE FUNCTION migrate_add_tenant_id_codeinsights(table_name text)
|
||||
@ -10,26 +14,26 @@ BEGIN
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
SELECT migrate_add_tenant_id_codeinsights('archived_insight_series_recording_times');
|
||||
SELECT migrate_add_tenant_id_codeinsights('archived_series_points');
|
||||
SELECT migrate_add_tenant_id_codeinsights('dashboard');
|
||||
SELECT migrate_add_tenant_id_codeinsights('dashboard_grants');
|
||||
SELECT migrate_add_tenant_id_codeinsights('dashboard_insight_view');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_series');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_series_backfill');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_series_incomplete_points');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_series_recording_times');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_view');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_view_grants');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_view_series');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insights_background_jobs');
|
||||
SELECT migrate_add_tenant_id_codeinsights('insights_data_retention_jobs');
|
||||
SELECT migrate_add_tenant_id_codeinsights('metadata');
|
||||
SELECT migrate_add_tenant_id_codeinsights('repo_iterator');
|
||||
SELECT migrate_add_tenant_id_codeinsights('repo_iterator_errors');
|
||||
SELECT migrate_add_tenant_id_codeinsights('repo_names');
|
||||
SELECT migrate_add_tenant_id_codeinsights('series_points');
|
||||
SELECT migrate_add_tenant_id_codeinsights('series_points_snapshots');
|
||||
SELECT migrate_add_tenant_id_codeinsights('archived_insight_series_recording_times'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('archived_series_points'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('dashboard'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('dashboard_grants'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('dashboard_insight_view'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_series'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_series_backfill'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_series_incomplete_points'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_series_recording_times'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_view'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_view_grants'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insight_view_series'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insights_background_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('insights_data_retention_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('metadata'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('repo_iterator'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('repo_iterator_errors'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('repo_names'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('series_points'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeinsights('series_points_snapshots'); COMMIT AND CHAIN;
|
||||
|
||||
-- Explicitly excluded tables
|
||||
-- migration_logs :: about DB
|
||||
|
||||
@ -6,17 +6,17 @@ BEGIN
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_last_reconcile');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_document_lookup');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_document_lookup_schema_versions');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_documents');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_documents_dereference_logs');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_metadata');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_symbol_names');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_symbols');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_symbols_schema_versions');
|
||||
SELECT migrate_add_tenant_id_codeintel('rockskip_ancestry');
|
||||
SELECT migrate_add_tenant_id_codeintel('rockskip_repos');
|
||||
SELECT migrate_add_tenant_id_codeintel('rockskip_symbols');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_last_reconcile'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_document_lookup'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_document_lookup_schema_versions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_documents'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_documents_dereference_logs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_metadata'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_symbol_names'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_symbols'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_symbols_schema_versions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('rockskip_ancestry'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('rockskip_repos'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('rockskip_symbols'); COMMIT AND CHAIN;
|
||||
|
||||
DROP FUNCTION migrate_add_tenant_id_codeintel(text);
|
||||
|
||||
@ -1,3 +1,2 @@
|
||||
name: add tenant id to most tables
|
||||
noTransaction: true
|
||||
parents: [1686315964]
|
||||
|
||||
@ -1,6 +1,10 @@
|
||||
-- This migration adds the tenant_id column in a way which doesn't require
|
||||
-- updating every row. The value is null and an out of band migration will set
|
||||
-- it to the default. A later migration will enforce tenant_id to be set.
|
||||
--
|
||||
-- We COMMIT AND CHAIN after each table is altered to prevent a single
|
||||
-- transaction over all the alters. A single transaction would lead to a
|
||||
-- deadlock with concurrent application queries.
|
||||
|
||||
-- Temporary function to deduplicate the logic required for each table:
|
||||
CREATE OR REPLACE FUNCTION migrate_add_tenant_id_codeintel(table_name text)
|
||||
@ -10,18 +14,18 @@ BEGIN
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_last_reconcile');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_document_lookup');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_document_lookup_schema_versions');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_documents');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_documents_dereference_logs');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_metadata');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_symbol_names');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_symbols');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_symbols_schema_versions');
|
||||
SELECT migrate_add_tenant_id_codeintel('rockskip_ancestry');
|
||||
SELECT migrate_add_tenant_id_codeintel('rockskip_repos');
|
||||
SELECT migrate_add_tenant_id_codeintel('rockskip_symbols');
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_last_reconcile'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_document_lookup'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_document_lookup_schema_versions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_documents'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_documents_dereference_logs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_metadata'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_symbol_names'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_symbols'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('codeintel_scip_symbols_schema_versions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('rockskip_ancestry'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('rockskip_repos'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_codeintel('rockskip_symbols'); COMMIT AND CHAIN;
|
||||
|
||||
-- Explicitly excluded tables
|
||||
-- migration_logs :: about DB
|
||||
|
||||
@ -6,182 +6,182 @@ BEGIN
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
SELECT migrate_add_tenant_id_frontend('access_requests');
|
||||
SELECT migrate_add_tenant_id_frontend('access_tokens');
|
||||
SELECT migrate_add_tenant_id_frontend('aggregated_user_statistics');
|
||||
SELECT migrate_add_tenant_id_frontend('assigned_owners');
|
||||
SELECT migrate_add_tenant_id_frontend('assigned_teams');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_changes');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_changes_site_credentials');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_execution_cache_entries');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_resolution_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_workspace_execution_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_workspace_execution_last_dequeues');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_workspace_files');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_workspaces');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_specs');
|
||||
SELECT migrate_add_tenant_id_frontend('cached_available_indexers');
|
||||
SELECT migrate_add_tenant_id_frontend('changeset_events');
|
||||
SELECT migrate_add_tenant_id_frontend('changeset_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('changeset_specs');
|
||||
SELECT migrate_add_tenant_id_frontend('changesets');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_action_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_emails');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_last_searched');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_monitors');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_queries');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_recipients');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_slack_webhooks');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_trigger_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_webhooks');
|
||||
SELECT migrate_add_tenant_id_frontend('code_hosts');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_autoindex_queue');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_autoindexing_exceptions');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_commit_dates');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_inference_scripts');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_initial_path_ranks');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_initial_path_ranks_processed');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_langugage_support_requests');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_path_ranks');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_definitions');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_exports');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_graph_keys');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_path_counts_inputs');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_progress');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_references');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_references_processed');
|
||||
SELECT migrate_add_tenant_id_frontend('codeowners');
|
||||
SELECT migrate_add_tenant_id_frontend('codeowners_individual_stats');
|
||||
SELECT migrate_add_tenant_id_frontend('codeowners_owners');
|
||||
SELECT migrate_add_tenant_id_frontend('commit_authors');
|
||||
SELECT migrate_add_tenant_id_frontend('configuration_policies_audit_logs');
|
||||
SELECT migrate_add_tenant_id_frontend('context_detection_embedding_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('discussion_comments');
|
||||
SELECT migrate_add_tenant_id_frontend('discussion_mail_reply_tokens');
|
||||
SELECT migrate_add_tenant_id_frontend('discussion_threads');
|
||||
SELECT migrate_add_tenant_id_frontend('discussion_threads_target_repo');
|
||||
SELECT migrate_add_tenant_id_frontend('event_logs');
|
||||
SELECT migrate_add_tenant_id_frontend('event_logs_export_allowlist');
|
||||
SELECT migrate_add_tenant_id_frontend('event_logs_scrape_state');
|
||||
SELECT migrate_add_tenant_id_frontend('event_logs_scrape_state_own');
|
||||
SELECT migrate_add_tenant_id_frontend('executor_heartbeats');
|
||||
SELECT migrate_add_tenant_id_frontend('executor_job_tokens');
|
||||
SELECT migrate_add_tenant_id_frontend('executor_secret_access_logs');
|
||||
SELECT migrate_add_tenant_id_frontend('executor_secrets');
|
||||
SELECT migrate_add_tenant_id_frontend('exhaustive_search_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('exhaustive_search_repo_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('exhaustive_search_repo_revision_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('explicit_permissions_bitbucket_projects_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('external_service_repos');
|
||||
SELECT migrate_add_tenant_id_frontend('external_service_sync_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('external_services');
|
||||
SELECT migrate_add_tenant_id_frontend('feature_flag_overrides');
|
||||
SELECT migrate_add_tenant_id_frontend('feature_flags');
|
||||
SELECT migrate_add_tenant_id_frontend('github_app_installs');
|
||||
SELECT migrate_add_tenant_id_frontend('github_apps');
|
||||
SELECT migrate_add_tenant_id_frontend('gitserver_relocator_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('gitserver_repos');
|
||||
SELECT migrate_add_tenant_id_frontend('gitserver_repos_statistics');
|
||||
SELECT migrate_add_tenant_id_frontend('gitserver_repos_sync_output');
|
||||
SELECT migrate_add_tenant_id_frontend('global_state');
|
||||
SELECT migrate_add_tenant_id_frontend('insights_query_runner_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('insights_query_runner_jobs_dependencies');
|
||||
SELECT migrate_add_tenant_id_frontend('insights_settings_migration_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_configuration_policies');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_configuration_policies_repository_pattern_lookup');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_dependency_indexing_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_dependency_repos');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_dependency_syncing_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_dirty_repositories');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_index_configuration');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_indexes');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_last_index_scan');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_last_retention_scan');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_nearest_uploads');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_nearest_uploads_links');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_packages');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_references');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_retention_configuration');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads_audit_logs');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads_reference_counts');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads_visible_at_tip');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads_vulnerability_scan');
|
||||
SELECT migrate_add_tenant_id_frontend('names');
|
||||
SELECT migrate_add_tenant_id_frontend('namespace_permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('notebook_stars');
|
||||
SELECT migrate_add_tenant_id_frontend('notebooks');
|
||||
SELECT migrate_add_tenant_id_frontend('org_invitations');
|
||||
SELECT migrate_add_tenant_id_frontend('org_members');
|
||||
SELECT migrate_add_tenant_id_frontend('org_stats');
|
||||
SELECT migrate_add_tenant_id_frontend('orgs');
|
||||
SELECT migrate_add_tenant_id_frontend('orgs_open_beta_stats');
|
||||
SELECT migrate_add_tenant_id_frontend('out_of_band_migrations');
|
||||
SELECT migrate_add_tenant_id_frontend('out_of_band_migrations_errors');
|
||||
SELECT migrate_add_tenant_id_frontend('outbound_webhook_event_types');
|
||||
SELECT migrate_add_tenant_id_frontend('outbound_webhook_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('outbound_webhook_logs');
|
||||
SELECT migrate_add_tenant_id_frontend('outbound_webhooks');
|
||||
SELECT migrate_add_tenant_id_frontend('own_aggregate_recent_contribution');
|
||||
SELECT migrate_add_tenant_id_frontend('own_aggregate_recent_view');
|
||||
SELECT migrate_add_tenant_id_frontend('own_background_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('own_signal_configurations');
|
||||
SELECT migrate_add_tenant_id_frontend('own_signal_recent_contribution');
|
||||
SELECT migrate_add_tenant_id_frontend('ownership_path_stats');
|
||||
SELECT migrate_add_tenant_id_frontend('package_repo_filters');
|
||||
SELECT migrate_add_tenant_id_frontend('package_repo_versions');
|
||||
SELECT migrate_add_tenant_id_frontend('permission_sync_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('phabricator_repos');
|
||||
SELECT migrate_add_tenant_id_frontend('product_licenses');
|
||||
SELECT migrate_add_tenant_id_frontend('product_subscriptions');
|
||||
SELECT migrate_add_tenant_id_frontend('prompts');
|
||||
SELECT migrate_add_tenant_id_frontend('query_runner_state');
|
||||
SELECT migrate_add_tenant_id_frontend('redis_key_value');
|
||||
SELECT migrate_add_tenant_id_frontend('registry_extension_releases');
|
||||
SELECT migrate_add_tenant_id_frontend('registry_extensions');
|
||||
SELECT migrate_add_tenant_id_frontend('repo');
|
||||
SELECT migrate_add_tenant_id_frontend('repo_commits_changelists');
|
||||
SELECT migrate_add_tenant_id_frontend('repo_embedding_job_stats');
|
||||
SELECT migrate_add_tenant_id_frontend('repo_embedding_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('repo_kvps');
|
||||
SELECT migrate_add_tenant_id_frontend('repo_paths');
|
||||
SELECT migrate_add_tenant_id_frontend('repo_pending_permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('repo_permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('repo_statistics');
|
||||
SELECT migrate_add_tenant_id_frontend('role_permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('roles');
|
||||
SELECT migrate_add_tenant_id_frontend('saved_searches');
|
||||
SELECT migrate_add_tenant_id_frontend('search_context_default');
|
||||
SELECT migrate_add_tenant_id_frontend('search_context_repos');
|
||||
SELECT migrate_add_tenant_id_frontend('search_context_stars');
|
||||
SELECT migrate_add_tenant_id_frontend('search_contexts');
|
||||
SELECT migrate_add_tenant_id_frontend('security_event_logs');
|
||||
SELECT migrate_add_tenant_id_frontend('settings');
|
||||
SELECT migrate_add_tenant_id_frontend('sub_repo_permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('survey_responses');
|
||||
SELECT migrate_add_tenant_id_frontend('syntactic_scip_indexing_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('syntactic_scip_last_index_scan');
|
||||
SELECT migrate_add_tenant_id_frontend('team_members');
|
||||
SELECT migrate_add_tenant_id_frontend('teams');
|
||||
SELECT migrate_add_tenant_id_frontend('telemetry_events_export_queue');
|
||||
SELECT migrate_add_tenant_id_frontend('temporary_settings');
|
||||
SELECT migrate_add_tenant_id_frontend('user_credentials');
|
||||
SELECT migrate_add_tenant_id_frontend('user_emails');
|
||||
SELECT migrate_add_tenant_id_frontend('user_external_accounts');
|
||||
SELECT migrate_add_tenant_id_frontend('user_onboarding_tour');
|
||||
SELECT migrate_add_tenant_id_frontend('user_pending_permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('user_permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('user_public_repos');
|
||||
SELECT migrate_add_tenant_id_frontend('user_repo_permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('user_roles');
|
||||
SELECT migrate_add_tenant_id_frontend('users');
|
||||
SELECT migrate_add_tenant_id_frontend('vulnerabilities');
|
||||
SELECT migrate_add_tenant_id_frontend('vulnerability_affected_packages');
|
||||
SELECT migrate_add_tenant_id_frontend('vulnerability_affected_symbols');
|
||||
SELECT migrate_add_tenant_id_frontend('vulnerability_matches');
|
||||
SELECT migrate_add_tenant_id_frontend('webhook_logs');
|
||||
SELECT migrate_add_tenant_id_frontend('webhooks');
|
||||
SELECT migrate_add_tenant_id_frontend('zoekt_repos');
|
||||
SELECT migrate_add_tenant_id_frontend('access_requests'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('access_tokens'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('aggregated_user_statistics'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('assigned_owners'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('assigned_teams'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_changes'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_changes_site_credentials'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_execution_cache_entries'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_resolution_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_workspace_execution_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_workspace_execution_last_dequeues'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_workspace_files'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_workspaces'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_specs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cached_available_indexers'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('changeset_events'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('changeset_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('changeset_specs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('changesets'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_action_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_emails'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_last_searched'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_monitors'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_queries'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_recipients'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_slack_webhooks'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_trigger_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_webhooks'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('code_hosts'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_autoindex_queue'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_autoindexing_exceptions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_commit_dates'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_inference_scripts'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_initial_path_ranks'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_initial_path_ranks_processed'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_langugage_support_requests'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_path_ranks'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_definitions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_exports'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_graph_keys'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_path_counts_inputs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_progress'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_references'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_references_processed'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeowners'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeowners_individual_stats'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeowners_owners'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('commit_authors'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('configuration_policies_audit_logs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('context_detection_embedding_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('discussion_comments'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('discussion_mail_reply_tokens'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('discussion_threads'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('discussion_threads_target_repo'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('event_logs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('event_logs_export_allowlist'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('event_logs_scrape_state'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('event_logs_scrape_state_own'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('executor_heartbeats'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('executor_job_tokens'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('executor_secret_access_logs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('executor_secrets'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('exhaustive_search_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('exhaustive_search_repo_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('exhaustive_search_repo_revision_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('explicit_permissions_bitbucket_projects_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('external_service_repos'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('external_service_sync_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('external_services'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('feature_flag_overrides'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('feature_flags'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('github_app_installs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('github_apps'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('gitserver_relocator_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('gitserver_repos'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('gitserver_repos_statistics'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('gitserver_repos_sync_output'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('global_state'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('insights_query_runner_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('insights_query_runner_jobs_dependencies'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('insights_settings_migration_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_configuration_policies'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_configuration_policies_repository_pattern_lookup'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_dependency_indexing_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_dependency_repos'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_dependency_syncing_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_dirty_repositories'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_index_configuration'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_indexes'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_last_index_scan'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_last_retention_scan'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_nearest_uploads'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_nearest_uploads_links'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_packages'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_references'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_retention_configuration'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads_audit_logs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads_reference_counts'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads_visible_at_tip'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads_vulnerability_scan'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('names'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('namespace_permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('notebook_stars'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('notebooks'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('org_invitations'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('org_members'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('org_stats'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('orgs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('orgs_open_beta_stats'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('out_of_band_migrations'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('out_of_band_migrations_errors'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('outbound_webhook_event_types'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('outbound_webhook_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('outbound_webhook_logs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('outbound_webhooks'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('own_aggregate_recent_contribution'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('own_aggregate_recent_view'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('own_background_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('own_signal_configurations'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('own_signal_recent_contribution'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('ownership_path_stats'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('package_repo_filters'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('package_repo_versions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('permission_sync_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('phabricator_repos'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('product_licenses'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('product_subscriptions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('prompts'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('query_runner_state'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('redis_key_value'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('registry_extension_releases'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('registry_extensions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo_commits_changelists'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo_embedding_job_stats'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo_embedding_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo_kvps'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo_paths'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo_pending_permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo_permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo_statistics'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('role_permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('roles'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('saved_searches'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('search_context_default'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('search_context_repos'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('search_context_stars'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('search_contexts'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('security_event_logs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('settings'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('sub_repo_permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('survey_responses'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('syntactic_scip_indexing_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('syntactic_scip_last_index_scan'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('team_members'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('teams'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('telemetry_events_export_queue'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('temporary_settings'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_credentials'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_emails'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_external_accounts'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_onboarding_tour'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_pending_permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_public_repos'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_repo_permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_roles'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('users'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('vulnerabilities'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('vulnerability_affected_packages'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('vulnerability_affected_symbols'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('vulnerability_matches'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('webhook_logs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('webhooks'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('zoekt_repos'); COMMIT AND CHAIN;
|
||||
|
||||
DROP FUNCTION migrate_add_tenant_id_frontend(text);
|
||||
|
||||
@ -1,3 +1,2 @@
|
||||
name: Add tenant ID to most tables
|
||||
noTransaction: true
|
||||
parents: [1722961262]
|
||||
|
||||
@ -1,6 +1,10 @@
|
||||
-- This migration adds the tenant_id column in a way which doesn't require
|
||||
-- updating every row. The value is null and an out of band migration will set
|
||||
-- it to the default. A later migration will enforce tenant_id to be set.
|
||||
--
|
||||
-- We COMMIT AND CHAIN after each table is altered to prevent a single
|
||||
-- transaction over all the alters. A single transaction would lead to a
|
||||
-- deadlock with concurrent application queries.
|
||||
|
||||
-- Temporary function to deduplicate the logic required for each table:
|
||||
CREATE OR REPLACE FUNCTION migrate_add_tenant_id_frontend(table_name text)
|
||||
@ -10,183 +14,183 @@ BEGIN
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
SELECT migrate_add_tenant_id_frontend('access_requests');
|
||||
SELECT migrate_add_tenant_id_frontend('access_tokens');
|
||||
SELECT migrate_add_tenant_id_frontend('aggregated_user_statistics');
|
||||
SELECT migrate_add_tenant_id_frontend('assigned_owners');
|
||||
SELECT migrate_add_tenant_id_frontend('assigned_teams');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_changes');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_changes_site_credentials');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_execution_cache_entries');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_resolution_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_workspace_execution_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_workspace_execution_last_dequeues');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_workspace_files');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_workspaces');
|
||||
SELECT migrate_add_tenant_id_frontend('batch_specs');
|
||||
SELECT migrate_add_tenant_id_frontend('cached_available_indexers');
|
||||
SELECT migrate_add_tenant_id_frontend('changeset_events');
|
||||
SELECT migrate_add_tenant_id_frontend('changeset_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('changeset_specs');
|
||||
SELECT migrate_add_tenant_id_frontend('changesets');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_action_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_emails');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_last_searched');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_monitors');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_queries');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_recipients');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_slack_webhooks');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_trigger_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('cm_webhooks');
|
||||
SELECT migrate_add_tenant_id_frontend('code_hosts');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_autoindex_queue');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_autoindexing_exceptions');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_commit_dates');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_inference_scripts');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_initial_path_ranks');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_initial_path_ranks_processed');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_langugage_support_requests');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_path_ranks');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_definitions');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_exports');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_graph_keys');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_path_counts_inputs');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_progress');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_references');
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_references_processed');
|
||||
SELECT migrate_add_tenant_id_frontend('codeowners');
|
||||
SELECT migrate_add_tenant_id_frontend('codeowners_individual_stats');
|
||||
SELECT migrate_add_tenant_id_frontend('codeowners_owners');
|
||||
SELECT migrate_add_tenant_id_frontend('commit_authors');
|
||||
SELECT migrate_add_tenant_id_frontend('configuration_policies_audit_logs');
|
||||
SELECT migrate_add_tenant_id_frontend('context_detection_embedding_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('discussion_comments');
|
||||
SELECT migrate_add_tenant_id_frontend('discussion_mail_reply_tokens');
|
||||
SELECT migrate_add_tenant_id_frontend('discussion_threads');
|
||||
SELECT migrate_add_tenant_id_frontend('discussion_threads_target_repo');
|
||||
SELECT migrate_add_tenant_id_frontend('event_logs');
|
||||
SELECT migrate_add_tenant_id_frontend('event_logs_export_allowlist');
|
||||
SELECT migrate_add_tenant_id_frontend('event_logs_scrape_state');
|
||||
SELECT migrate_add_tenant_id_frontend('event_logs_scrape_state_own');
|
||||
SELECT migrate_add_tenant_id_frontend('executor_heartbeats');
|
||||
SELECT migrate_add_tenant_id_frontend('executor_job_tokens');
|
||||
SELECT migrate_add_tenant_id_frontend('executor_secret_access_logs');
|
||||
SELECT migrate_add_tenant_id_frontend('executor_secrets');
|
||||
SELECT migrate_add_tenant_id_frontend('exhaustive_search_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('exhaustive_search_repo_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('exhaustive_search_repo_revision_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('explicit_permissions_bitbucket_projects_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('external_service_repos');
|
||||
SELECT migrate_add_tenant_id_frontend('external_service_sync_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('external_services');
|
||||
SELECT migrate_add_tenant_id_frontend('feature_flag_overrides');
|
||||
SELECT migrate_add_tenant_id_frontend('feature_flags');
|
||||
SELECT migrate_add_tenant_id_frontend('github_app_installs');
|
||||
SELECT migrate_add_tenant_id_frontend('github_apps');
|
||||
SELECT migrate_add_tenant_id_frontend('gitserver_relocator_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('gitserver_repos');
|
||||
SELECT migrate_add_tenant_id_frontend('gitserver_repos_statistics');
|
||||
SELECT migrate_add_tenant_id_frontend('gitserver_repos_sync_output');
|
||||
SELECT migrate_add_tenant_id_frontend('global_state');
|
||||
SELECT migrate_add_tenant_id_frontend('insights_query_runner_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('insights_query_runner_jobs_dependencies');
|
||||
SELECT migrate_add_tenant_id_frontend('insights_settings_migration_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_configuration_policies');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_configuration_policies_repository_pattern_lookup');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_dependency_indexing_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_dependency_repos');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_dependency_syncing_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_dirty_repositories');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_index_configuration');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_indexes');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_last_index_scan');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_last_retention_scan');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_nearest_uploads');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_nearest_uploads_links');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_packages');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_references');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_retention_configuration');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads_audit_logs');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads_reference_counts');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads_visible_at_tip');
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads_vulnerability_scan');
|
||||
SELECT migrate_add_tenant_id_frontend('names');
|
||||
SELECT migrate_add_tenant_id_frontend('namespace_permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('notebook_stars');
|
||||
SELECT migrate_add_tenant_id_frontend('notebooks');
|
||||
SELECT migrate_add_tenant_id_frontend('org_invitations');
|
||||
SELECT migrate_add_tenant_id_frontend('org_members');
|
||||
SELECT migrate_add_tenant_id_frontend('org_stats');
|
||||
SELECT migrate_add_tenant_id_frontend('orgs');
|
||||
SELECT migrate_add_tenant_id_frontend('orgs_open_beta_stats');
|
||||
SELECT migrate_add_tenant_id_frontend('out_of_band_migrations');
|
||||
SELECT migrate_add_tenant_id_frontend('out_of_band_migrations_errors');
|
||||
SELECT migrate_add_tenant_id_frontend('outbound_webhook_event_types');
|
||||
SELECT migrate_add_tenant_id_frontend('outbound_webhook_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('outbound_webhook_logs');
|
||||
SELECT migrate_add_tenant_id_frontend('outbound_webhooks');
|
||||
SELECT migrate_add_tenant_id_frontend('own_aggregate_recent_contribution');
|
||||
SELECT migrate_add_tenant_id_frontend('own_aggregate_recent_view');
|
||||
SELECT migrate_add_tenant_id_frontend('own_background_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('own_signal_configurations');
|
||||
SELECT migrate_add_tenant_id_frontend('own_signal_recent_contribution');
|
||||
SELECT migrate_add_tenant_id_frontend('ownership_path_stats');
|
||||
SELECT migrate_add_tenant_id_frontend('package_repo_filters');
|
||||
SELECT migrate_add_tenant_id_frontend('package_repo_versions');
|
||||
SELECT migrate_add_tenant_id_frontend('permission_sync_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('phabricator_repos');
|
||||
SELECT migrate_add_tenant_id_frontend('product_licenses');
|
||||
SELECT migrate_add_tenant_id_frontend('product_subscriptions');
|
||||
SELECT migrate_add_tenant_id_frontend('prompts');
|
||||
SELECT migrate_add_tenant_id_frontend('query_runner_state');
|
||||
SELECT migrate_add_tenant_id_frontend('redis_key_value');
|
||||
SELECT migrate_add_tenant_id_frontend('registry_extension_releases');
|
||||
SELECT migrate_add_tenant_id_frontend('registry_extensions');
|
||||
SELECT migrate_add_tenant_id_frontend('repo');
|
||||
SELECT migrate_add_tenant_id_frontend('repo_commits_changelists');
|
||||
SELECT migrate_add_tenant_id_frontend('repo_embedding_job_stats');
|
||||
SELECT migrate_add_tenant_id_frontend('repo_embedding_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('repo_kvps');
|
||||
SELECT migrate_add_tenant_id_frontend('repo_paths');
|
||||
SELECT migrate_add_tenant_id_frontend('repo_pending_permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('repo_permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('repo_statistics');
|
||||
SELECT migrate_add_tenant_id_frontend('role_permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('roles');
|
||||
SELECT migrate_add_tenant_id_frontend('saved_searches');
|
||||
SELECT migrate_add_tenant_id_frontend('search_context_default');
|
||||
SELECT migrate_add_tenant_id_frontend('search_context_repos');
|
||||
SELECT migrate_add_tenant_id_frontend('search_context_stars');
|
||||
SELECT migrate_add_tenant_id_frontend('search_contexts');
|
||||
SELECT migrate_add_tenant_id_frontend('security_event_logs');
|
||||
SELECT migrate_add_tenant_id_frontend('settings');
|
||||
SELECT migrate_add_tenant_id_frontend('sub_repo_permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('survey_responses');
|
||||
SELECT migrate_add_tenant_id_frontend('syntactic_scip_indexing_jobs');
|
||||
SELECT migrate_add_tenant_id_frontend('syntactic_scip_last_index_scan');
|
||||
SELECT migrate_add_tenant_id_frontend('team_members');
|
||||
SELECT migrate_add_tenant_id_frontend('teams');
|
||||
SELECT migrate_add_tenant_id_frontend('telemetry_events_export_queue');
|
||||
SELECT migrate_add_tenant_id_frontend('temporary_settings');
|
||||
SELECT migrate_add_tenant_id_frontend('user_credentials');
|
||||
SELECT migrate_add_tenant_id_frontend('user_emails');
|
||||
SELECT migrate_add_tenant_id_frontend('user_external_accounts');
|
||||
SELECT migrate_add_tenant_id_frontend('user_onboarding_tour');
|
||||
SELECT migrate_add_tenant_id_frontend('user_pending_permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('user_permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('user_public_repos');
|
||||
SELECT migrate_add_tenant_id_frontend('user_repo_permissions');
|
||||
SELECT migrate_add_tenant_id_frontend('user_roles');
|
||||
SELECT migrate_add_tenant_id_frontend('users');
|
||||
SELECT migrate_add_tenant_id_frontend('vulnerabilities');
|
||||
SELECT migrate_add_tenant_id_frontend('vulnerability_affected_packages');
|
||||
SELECT migrate_add_tenant_id_frontend('vulnerability_affected_symbols');
|
||||
SELECT migrate_add_tenant_id_frontend('vulnerability_matches');
|
||||
SELECT migrate_add_tenant_id_frontend('webhook_logs');
|
||||
SELECT migrate_add_tenant_id_frontend('webhooks');
|
||||
SELECT migrate_add_tenant_id_frontend('zoekt_repos');
|
||||
SELECT migrate_add_tenant_id_frontend('access_requests'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('access_tokens'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('aggregated_user_statistics'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('assigned_owners'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('assigned_teams'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_changes'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_changes_site_credentials'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_execution_cache_entries'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_resolution_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_workspace_execution_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_workspace_execution_last_dequeues'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_workspace_files'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_spec_workspaces'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('batch_specs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cached_available_indexers'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('changeset_events'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('changeset_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('changeset_specs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('changesets'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_action_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_emails'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_last_searched'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_monitors'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_queries'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_recipients'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_slack_webhooks'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_trigger_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('cm_webhooks'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('code_hosts'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_autoindex_queue'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_autoindexing_exceptions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_commit_dates'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_inference_scripts'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_initial_path_ranks'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_initial_path_ranks_processed'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_langugage_support_requests'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_path_ranks'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_definitions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_exports'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_graph_keys'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_path_counts_inputs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_progress'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_references'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeintel_ranking_references_processed'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeowners'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeowners_individual_stats'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('codeowners_owners'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('commit_authors'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('configuration_policies_audit_logs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('context_detection_embedding_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('discussion_comments'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('discussion_mail_reply_tokens'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('discussion_threads'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('discussion_threads_target_repo'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('event_logs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('event_logs_export_allowlist'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('event_logs_scrape_state'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('event_logs_scrape_state_own'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('executor_heartbeats'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('executor_job_tokens'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('executor_secret_access_logs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('executor_secrets'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('exhaustive_search_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('exhaustive_search_repo_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('exhaustive_search_repo_revision_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('explicit_permissions_bitbucket_projects_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('external_service_repos'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('external_service_sync_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('external_services'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('feature_flag_overrides'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('feature_flags'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('github_app_installs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('github_apps'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('gitserver_relocator_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('gitserver_repos'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('gitserver_repos_statistics'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('gitserver_repos_sync_output'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('global_state'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('insights_query_runner_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('insights_query_runner_jobs_dependencies'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('insights_settings_migration_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_configuration_policies'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_configuration_policies_repository_pattern_lookup'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_dependency_indexing_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_dependency_repos'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_dependency_syncing_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_dirty_repositories'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_index_configuration'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_indexes'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_last_index_scan'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_last_retention_scan'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_nearest_uploads'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_nearest_uploads_links'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_packages'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_references'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_retention_configuration'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads_audit_logs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads_reference_counts'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads_visible_at_tip'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('lsif_uploads_vulnerability_scan'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('names'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('namespace_permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('notebook_stars'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('notebooks'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('org_invitations'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('org_members'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('org_stats'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('orgs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('orgs_open_beta_stats'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('out_of_band_migrations'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('out_of_band_migrations_errors'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('outbound_webhook_event_types'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('outbound_webhook_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('outbound_webhook_logs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('outbound_webhooks'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('own_aggregate_recent_contribution'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('own_aggregate_recent_view'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('own_background_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('own_signal_configurations'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('own_signal_recent_contribution'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('ownership_path_stats'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('package_repo_filters'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('package_repo_versions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('permission_sync_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('phabricator_repos'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('product_licenses'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('product_subscriptions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('prompts'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('query_runner_state'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('redis_key_value'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('registry_extension_releases'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('registry_extensions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo_commits_changelists'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo_embedding_job_stats'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo_embedding_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo_kvps'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo_paths'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo_pending_permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo_permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('repo_statistics'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('role_permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('roles'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('saved_searches'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('search_context_default'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('search_context_repos'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('search_context_stars'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('search_contexts'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('security_event_logs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('settings'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('sub_repo_permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('survey_responses'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('syntactic_scip_indexing_jobs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('syntactic_scip_last_index_scan'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('team_members'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('teams'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('telemetry_events_export_queue'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('temporary_settings'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_credentials'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_emails'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_external_accounts'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_onboarding_tour'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_pending_permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_public_repos'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_repo_permissions'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('user_roles'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('users'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('vulnerabilities'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('vulnerability_affected_packages'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('vulnerability_affected_symbols'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('vulnerability_matches'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('webhook_logs'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('webhooks'); COMMIT AND CHAIN;
|
||||
SELECT migrate_add_tenant_id_frontend('zoekt_repos'); COMMIT AND CHAIN;
|
||||
|
||||
-- Explicitly excluded tables
|
||||
-- critical_and_site_config :: for instance not tenant
|
||||
|
||||
Loading…
Reference in New Issue
Block a user