From 821f59b8c7457806e4cce6f5d06c780d1894fa49 Mon Sep 17 00:00:00 2001 From: lalalalatt Date: Fri, 19 Jul 2024 01:25:28 +0800 Subject: [PATCH] chore: add relationship index storing caveat to migrations --- ....0007_add_relation_index_storing_caveat.go | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 internal/datastore/crdb/migrations/zz_migration.0007_add_relation_index_storing_caveat.go diff --git a/internal/datastore/crdb/migrations/zz_migration.0007_add_relation_index_storing_caveat.go b/internal/datastore/crdb/migrations/zz_migration.0007_add_relation_index_storing_caveat.go new file mode 100644 index 0000000000..16453b2f90 --- /dev/null +++ b/internal/datastore/crdb/migrations/zz_migration.0007_add_relation_index_storing_caveat.go @@ -0,0 +1,27 @@ +package migrations + +import ( + "context" + + "github.com/jackc/pgx/v5" +) + +const ( + addRelationshipIndexStoringCaveatQuery = ` + CREATE INDEX idx_relationship_caveat_storing ON relation_tuple (namespace, relation, object_id, userset_relation) STORING (caveat_name, caveat_context); + ` +) + +func init() { + err := CRDBMigrations.Register("add-relationship-index-storing-caveat", "add-relationship-counters-table", addRelationshipIndexStoringCaveat, noAtomicMigration) + if err != nil { + panic("failed to register migration: " + err.Error()) + } +} + +func addRelationshipIndexStoringCaveat(ctx context.Context, conn *pgx.Conn) error { + if _, err := conn.Exec(ctx, addRelationshipIndexStoringCaveatQuery); err != nil { + return err + } + return nil +}