Commit 562a1c36 by Hugo Häggmark Committed by GitHub

PanelLibrary: Adds library_panel table (#29565)

* PanelLibrary: Adds panellib table

* Refactor: removes drop table migration

* Refactor: fixes spelling mistake

* Refactor: changes after PR comments

* Refactor: some more renames
parent ee405ef0
...@@ -35,6 +35,7 @@ import ( ...@@ -35,6 +35,7 @@ import (
_ "github.com/grafana/grafana/pkg/services/alerting" _ "github.com/grafana/grafana/pkg/services/alerting"
_ "github.com/grafana/grafana/pkg/services/auth" _ "github.com/grafana/grafana/pkg/services/auth"
_ "github.com/grafana/grafana/pkg/services/cleanup" _ "github.com/grafana/grafana/pkg/services/cleanup"
_ "github.com/grafana/grafana/pkg/services/librarypanels"
_ "github.com/grafana/grafana/pkg/services/ngalert" _ "github.com/grafana/grafana/pkg/services/ngalert"
_ "github.com/grafana/grafana/pkg/services/notifications" _ "github.com/grafana/grafana/pkg/services/notifications"
_ "github.com/grafana/grafana/pkg/services/provisioning" _ "github.com/grafana/grafana/pkg/services/provisioning"
......
package librarypanels
import (
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/registry"
"github.com/grafana/grafana/pkg/services/sqlstore/migrator"
"github.com/grafana/grafana/pkg/setting"
)
// LibraryPanelService is the service for the Panel Library feature.
type LibraryPanelService struct {
Cfg *setting.Cfg `inject:""`
log log.Logger
}
func init() {
registry.RegisterService(&LibraryPanelService{})
}
// Init initializes the LibraryPanel service
func (pl *LibraryPanelService) Init() error {
pl.log = log.New("library_panel")
return nil
}
// IsEnabled returns true if the Panel Library feature is enabled for this instance.
func (pl *LibraryPanelService) IsEnabled() bool {
if pl.Cfg == nil {
return false
}
return pl.Cfg.IsPanelLibraryEnabled()
}
// AddMigration defines database migrations.
// If Panel Library is not enabled does nothing.
func (pl *LibraryPanelService) AddMigration(mg *migrator.Migrator) {
if !pl.IsEnabled() {
return
}
libraryPanelV1 := migrator.Table{
Name: "library_panel",
Columns: []*migrator.Column{
{Name: "id", Type: migrator.DB_BigInt, IsPrimaryKey: true, IsAutoIncrement: true},
{Name: "org_id", Type: migrator.DB_BigInt, Nullable: false},
{Name: "folder_id", Type: migrator.DB_BigInt, Nullable: false},
{Name: "title", Type: migrator.DB_NVarchar, Length: 255, Nullable: false},
{Name: "data", Type: migrator.DB_Text, Nullable: false},
{Name: "created", Type: migrator.DB_DateTime, Nullable: false},
{Name: "created_by", Type: migrator.DB_BigInt, Nullable: false},
{Name: "updated", Type: migrator.DB_DateTime, Nullable: false},
{Name: "updated_by", Type: migrator.DB_BigInt, Nullable: false},
},
}
mg.AddMigration("create library_panel table v1", migrator.NewAddTableMigration(libraryPanelV1))
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment