mirror of
https://github.com/grafana/grafana.git
synced 2026-02-03 20:49:50 -05:00
Grafana Cli: Add admin flush-rbac-seed-assignment command (#116716)
This commit is contained in:
parent
99d56e9374
commit
ac6be6db21
2 changed files with 38 additions and 0 deletions
|
|
@ -197,6 +197,11 @@ var adminCommands = []*cli.Command{
|
|||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "flush-rbac-seed-assignment",
|
||||
Usage: "Clears RBAC seeding to force re-seeding on next startup. Use after running an Enterprise build, then an OSS build, then an Enterprise build again.",
|
||||
Action: runDbCommand(flushSeedAssignment),
|
||||
},
|
||||
}
|
||||
|
||||
var Commands = []*cli.Command{
|
||||
|
|
|
|||
33
pkg/cmd/grafana-cli/commands/flush_rbac.go
Normal file
33
pkg/cmd/grafana-cli/commands/flush_rbac.go
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
package commands
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/grafana/grafana/pkg/cmd/grafana-cli/logger"
|
||||
"github.com/grafana/grafana/pkg/cmd/grafana-cli/utils"
|
||||
"github.com/grafana/grafana/pkg/infra/db"
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
)
|
||||
|
||||
func flushSeedAssignment(c utils.CommandLine, cfg *setting.Cfg, sqlStore db.DB) error {
|
||||
return sqlStore.WithDbSession(context.Background(), func(sess *db.Session) error {
|
||||
exists, err := sess.IsTableExist("seed_assignment")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !exists {
|
||||
logger.Infof("seed_assignment table does not exist, skipping.")
|
||||
return nil
|
||||
}
|
||||
|
||||
result, err := sess.Exec("DELETE FROM seed_assignment")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
rowsAffected, _ := result.RowsAffected()
|
||||
logger.Infof("Flushed seed_assignment table (%d rows deleted).", rowsAffected)
|
||||
logger.Info("Restart Grafana to repopulate this table on next startup with the default RBAC assignments.")
|
||||
return nil
|
||||
})
|
||||
}
|
||||
Loading…
Reference in a new issue