migrations_test.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package migrations
  2. import (
  3. "testing"
  4. "github.com/go-xorm/xorm"
  5. . "github.com/grafana/grafana/pkg/services/sqlstore/migrator"
  6. "github.com/grafana/grafana/pkg/services/sqlstore/sqlutil"
  7. . "github.com/smartystreets/goconvey/convey"
  8. //"github.com/grafana/grafana/pkg/log"
  9. )
  10. var indexTypes = []string{"Unknown", "INDEX", "UNIQUE INDEX"}
  11. func TestMigrations(t *testing.T) {
  12. //log.NewLogger(0, "console", `{"level": 0}`)
  13. testDBs := []sqlutil.TestDB{
  14. sqlutil.TestDB_Sqlite3,
  15. }
  16. for _, testDB := range testDBs {
  17. Convey("Initial "+testDB.DriverName+" migration", t, func() {
  18. x, err := xorm.NewEngine(testDB.DriverName, testDB.ConnStr)
  19. So(err, ShouldBeNil)
  20. sqlutil.CleanDB(x)
  21. mg := NewMigrator(x)
  22. //mg.LogLevel = log.ERROR
  23. AddMigrations(mg)
  24. err = mg.Start()
  25. So(err, ShouldBeNil)
  26. // tables, err := x.DBMetas()
  27. // So(err, ShouldBeNil)
  28. //
  29. // fmt.Printf("\nDB Schema after migration: table count: %v\n", len(tables))
  30. //
  31. // for _, table := range tables {
  32. // fmt.Printf("\nTable: %v \n", table.Name)
  33. // for _, column := range table.Columns() {
  34. // fmt.Printf("\t %v \n", column.String(x.Dialect()))
  35. // }
  36. //
  37. // if len(table.Indexes) > 0 {
  38. // fmt.Printf("\n\tIndexes:\n")
  39. // for _, index := range table.Indexes {
  40. // fmt.Printf("\t %v (%v) %v \n", index.Name, strings.Join(index.Cols, ","), indexTypes[index.Type])
  41. // }
  42. // }
  43. // }
  44. })
  45. }
  46. }