From c83af353b2649a9d6e5505d23630dc82218f7b9c Mon Sep 17 00:00:00 2001 From: bergquist Date: Mon, 25 Apr 2016 14:28:18 +0200 Subject: [PATCH] feat(alerting): renames alert table to alert_rule --- pkg/models/alerts.go | 10 +++++----- pkg/services/sqlstore/alerting.go | 16 ++++++++-------- pkg/services/sqlstore/alerting_test.go | 6 +++--- pkg/services/sqlstore/dashboard.go | 2 +- pkg/services/sqlstore/migrations/alert_mig.go | 16 +++++++++++++--- 5 files changed, 30 insertions(+), 20 deletions(-) diff --git a/pkg/models/alerts.go b/pkg/models/alerts.go index 310f5b87aa1..a99ebe24105 100644 --- a/pkg/models/alerts.go +++ b/pkg/models/alerts.go @@ -4,7 +4,7 @@ import ( "github.com/grafana/grafana/pkg/components/simplejson" ) -type Alert struct { +type AlertRule struct { Id int64 DashboardId int64 PanelId int64 @@ -19,8 +19,8 @@ type Alert struct { Aggregator string } -func (cmd *SaveDashboardCommand) GetAlertModels() *[]Alert { - alerts := make([]Alert, 0) +func (cmd *SaveDashboardCommand) GetAlertModels() *[]AlertRule { + alerts := make([]AlertRule, 0) for _, rowObj := range cmd.Dashboard.Get("rows").MustArray() { row := simplejson.NewFromAny(rowObj) @@ -29,7 +29,7 @@ func (cmd *SaveDashboardCommand) GetAlertModels() *[]Alert { panel := simplejson.NewFromAny(panelObj) alerting := panel.Get("alerting") - alert := Alert{ + alert := AlertRule{ DashboardId: cmd.Result.Id, PanelId: panel.Get("id").MustInt64(), Id: alerting.Get("id").MustInt64(), @@ -67,5 +67,5 @@ type SaveAlertsCommand struct { UserId int64 OrgId int64 - Alerts *[]Alert + Alerts *[]AlertRule } diff --git a/pkg/services/sqlstore/alerting.go b/pkg/services/sqlstore/alerting.go index 95503a7c9cd..45dfc72d2ec 100644 --- a/pkg/services/sqlstore/alerting.go +++ b/pkg/services/sqlstore/alerting.go @@ -53,7 +53,7 @@ func SaveAlerts(cmd *m.SaveAlertsCommand) error { } if missing { - _, err = x.Exec("DELETE FROM alert WHERE id = ?", missingAlert.Id) + _, err = x.Exec("DELETE FROM alert_rule WHERE id = ?", missingAlert.Id) if err != nil { return err } @@ -67,30 +67,30 @@ func SaveAlerts(cmd *m.SaveAlertsCommand) error { return nil } -func GetAlertsByDashboardId(dashboardId int64) ([]m.Alert, error) { - alerts := make([]m.Alert, 0) +func GetAlertsByDashboardId(dashboardId int64) ([]m.AlertRule, error) { + alerts := make([]m.AlertRule, 0) err := x.Where("dashboard_id = ?", dashboardId).Find(&alerts) if err != nil { - return []m.Alert{}, err + return []m.AlertRule{}, err } return alerts, nil } -func GetAlertsByDashboardAndPanelId(dashboardId, panelId int64) (m.Alert, error) { +func GetAlertsByDashboardAndPanelId(dashboardId, panelId int64) (m.AlertRule, error) { // this code should be refactored!! // uniqueness should be garanted! - alerts := make([]m.Alert, 0) + alerts := make([]m.AlertRule, 0) err := x.Where("dashboard_id = ? and panel_id = ?", dashboardId, panelId).Find(&alerts) if err != nil { - return m.Alert{}, err + return m.AlertRule{}, err } if len(alerts) != 1 { - return m.Alert{}, err + return m.AlertRule{}, err } return alerts[0], nil diff --git a/pkg/services/sqlstore/alerting_test.go b/pkg/services/sqlstore/alerting_test.go index 2198ef22d9a..86b6c889858 100644 --- a/pkg/services/sqlstore/alerting_test.go +++ b/pkg/services/sqlstore/alerting_test.go @@ -14,7 +14,7 @@ func TestAlertingDataAccess(t *testing.T) { testDash := insertTestDashboard("dashboard with alerts", 1, "alert") - items := []m.Alert{ + items := []m.AlertRule{ { PanelId: 1, DashboardId: testDash.Id, @@ -85,7 +85,7 @@ func TestAlertingDataAccess(t *testing.T) { }) Convey("Multiple alerts per dashboard", func() { - multipleItems := []m.Alert{ + multipleItems := []m.AlertRule{ { DashboardId: testDash.Id, PanelId: 1, @@ -129,7 +129,7 @@ func TestAlertingDataAccess(t *testing.T) { }) Convey("When dashboard is removed", func() { - items := []m.Alert{ + items := []m.AlertRule{ { PanelId: 1, DashboardId: testDash.Id, diff --git a/pkg/services/sqlstore/dashboard.go b/pkg/services/sqlstore/dashboard.go index 4e11878b6be..69aeffd341e 100644 --- a/pkg/services/sqlstore/dashboard.go +++ b/pkg/services/sqlstore/dashboard.go @@ -227,7 +227,7 @@ func DeleteDashboard(cmd *m.DeleteDashboardCommand) error { "DELETE FROM dashboard_tag WHERE dashboard_id = ? ", "DELETE FROM star WHERE dashboard_id = ? ", "DELETE FROM dashboard WHERE id = ?", - "DELETE FROM alert WHERE dashboard_id = ?", + "DELETE FROM alert_rule WHERE dashboard_id = ?", } for _, sql := range deletes { diff --git a/pkg/services/sqlstore/migrations/alert_mig.go b/pkg/services/sqlstore/migrations/alert_mig.go index 138bb1f9f46..8b9f9aa8254 100644 --- a/pkg/services/sqlstore/migrations/alert_mig.go +++ b/pkg/services/sqlstore/migrations/alert_mig.go @@ -3,10 +3,8 @@ package migrations import . "github.com/grafana/grafana/pkg/services/sqlstore/migrator" func addAlertMigrations(mg *Migrator) { - mg.AddMigration("Drop old table alert table", NewDropTableMigration("alert")) - alertV1 := Table{ - Name: "alert", + Name: "alert_rule", Columns: []*Column{ {Name: "id", Type: DB_BigInt, IsPrimaryKey: true, IsAutoIncrement: true}, {Name: "dashboard_id", Type: DB_BigInt, Nullable: false}, @@ -25,4 +23,16 @@ func addAlertMigrations(mg *Migrator) { // create table mg.AddMigration("create alert table v1", NewAddTableMigration(alertV1)) + + alert_changes := Table{ + Name: "alert_rule_updates", + Columns: []*Column{ + {Name: "id", Type: DB_BigInt, IsPrimaryKey: true, IsAutoIncrement: true}, + {Name: "alert_id", Type: DB_BigInt, Nullable: false}, + {Name: "org_id", Type: DB_BigInt, Nullable: false}, + {Name: "created", Type: DB_DateTime, Nullable: false}, + }, + } + + mg.AddMigration("create alert_rules_updates table v1", NewAddTableMigration(alert_changes)) }