grafana/pkg/services/sqlstore/migrations/ualert/datasource.go

32 lines
715 B
Go

package ualert
type dsUIDLookup map[[2]int64]string
// GetUID fetch thes datasource UID based on orgID+datasourceID
func (d dsUIDLookup) GetUID(orgID, datasourceID int64) string {
return d[[2]int64{orgID, datasourceID}]
}
// slurpDSIDs returns a map of [orgID, dataSourceId] -> UID.
func (m *migration) slurpDSIDs() (dsUIDLookup, error) {
dsIDs := []struct {
OrgID int64 `xorm:"org_id"`
ID int64 `xorm:"id"`
UID string `xorm:"uid"`
}{}
err := m.sess.SQL(`SELECT org_id, id, uid FROM data_source`).Find(&dsIDs)
if err != nil {
return nil, err
}
idToUID := make(dsUIDLookup, len(dsIDs))
for _, ds := range dsIDs {
idToUID[[2]int64{ds.OrgID, ds.ID}] = ds.UID
}
return idToUID, nil
}