fleet/server/datastore/mysql/migrations/data/20161229171615_InsertBuiltinLabels.go
Zachary Wasserman 5371647d2c Add builtin labels via migration (#728)
Changing from the existing method of adding built in labels at server startup.
This new method should be friendlier to long term changes, and falls in line
with the new pattern established for osquery options.

Fixes #702
2017-01-06 12:30:43 -08:00

48 lines
831 B
Go

package data
import (
"database/sql"
"github.com/kolide/kolide-ose/server/datastore/internal/appstate"
)
func init() {
MigrationClient.AddMigration(Up_20161229171615, Down_20161229171615)
}
func Up_20161229171615(tx *sql.Tx) error {
sql := `
INSERT INTO labels (
name,
description,
query,
platform,
label_type
) VALUES (?, ?, ?, ?, ?)
`
for _, label := range appstate.Labels() {
_, err := tx.Exec(sql, label.Name, label.Description, label.Query, label.Platform, label.LabelType)
if err != nil {
return err
}
}
return nil
}
func Down_20161229171615(tx *sql.Tx) error {
sql := `
DELETE FROM labels
WHERE name = ? AND label_type = ?
`
for _, label := range appstate.Labels() {
_, err := tx.Exec(sql, label.Name, label.LabelType)
if err != nil {
return err
}
}
return nil
}