mirror of
https://github.com/grafana/grafana.git
synced 2025-08-02 16:32:28 +08:00

makes it so the feature flag can be turned on off, and the migration will be cleared and rerun. All existing NG alert rules, configuration settings, etc are removed when disabling the feature flag. for https://github.com/grafana/alerting-squad/issues/142 Co-authored-by: Sofia Papagiannaki <sofia@grafana.com>
51 lines
1.1 KiB
Go
51 lines
1.1 KiB
Go
package migrations
|
|
|
|
import (
|
|
"testing"
|
|
|
|
. "github.com/grafana/grafana/pkg/services/sqlstore/migrator"
|
|
"github.com/grafana/grafana/pkg/services/sqlstore/sqlutil"
|
|
"github.com/grafana/grafana/pkg/setting"
|
|
"github.com/stretchr/testify/require"
|
|
"xorm.io/xorm"
|
|
)
|
|
|
|
func TestMigrations(t *testing.T) {
|
|
testDB := sqlutil.SQLite3TestDB()
|
|
const query = `select count(*) as count from migration_log`
|
|
result := struct{ Count int }{}
|
|
|
|
x, err := xorm.NewEngine(testDB.DriverName, testDB.ConnStr)
|
|
require.NoError(t, err)
|
|
|
|
err = NewDialect(x).CleanDB()
|
|
require.NoError(t, err)
|
|
|
|
_, err = x.SQL(query).Get(&result)
|
|
require.Error(t, err)
|
|
|
|
mg := NewMigrator(x, &setting.Cfg{})
|
|
AddMigrations(mg)
|
|
expectedMigrations := mg.MigrationsCount()
|
|
|
|
err = mg.Start()
|
|
require.NoError(t, err)
|
|
|
|
has, err := x.SQL(query).Get(&result)
|
|
require.NoError(t, err)
|
|
require.True(t, has)
|
|
|
|
require.Equal(t, expectedMigrations, result.Count)
|
|
|
|
mg = NewMigrator(x, &setting.Cfg{})
|
|
AddMigrations(mg)
|
|
|
|
err = mg.Start()
|
|
require.NoError(t, err)
|
|
|
|
has, err = x.SQL(query).Get(&result)
|
|
require.NoError(t, err)
|
|
require.True(t, has)
|
|
require.Equal(t, expectedMigrations, result.Count)
|
|
}
|