diff --git a/pkg/services/sqlstore/migrations/migrations.go b/pkg/services/sqlstore/migrations/migrations.go index 6a075b7b10f..1762d98a075 100644 --- a/pkg/services/sqlstore/migrations/migrations.go +++ b/pkg/services/sqlstore/migrations/migrations.go @@ -158,4 +158,6 @@ func (oss *OSSMigrations) AddMigration(mg *Migrator) { ualert.AddStateFiredAtColumn(mg) ualert.CollateAlertRuleGroup(mg) + + ualert.AddAlertRuleGroupIndexMigration(mg) } diff --git a/pkg/services/sqlstore/migrations/ualert/alert_rule_group_index.go b/pkg/services/sqlstore/migrations/ualert/alert_rule_group_index.go new file mode 100644 index 00000000000..e7df19a324d --- /dev/null +++ b/pkg/services/sqlstore/migrations/ualert/alert_rule_group_index.go @@ -0,0 +1,14 @@ +package ualert + +import "github.com/grafana/grafana/pkg/services/sqlstore/migrator" + +// AddAlertRuleGroupIndexMigration adds an index on org_id, namespace_uid, rule_group, and rule_group_idx columns to alert_rule table. +func AddAlertRuleGroupIndexMigration(mg *migrator.Migrator) { + mg.AddMigration("add index in alert_rule on org_id, namespace_uid, rule_group and rule_group_idx columns", migrator.NewAddIndexMigration( + migrator.Table{Name: "alert_rule"}, + &migrator.Index{ + Name: "IDX_alert_rule_org_id_namespace_uid_rule_group_rule_group_idx", + Cols: []string{"org_id", "namespace_uid", "rule_group", "rule_group_idx"}, + }, + )) +}