func InitTestDB(t *testing.T) { t.Log("InitTestDB") x, err := xorm.NewEngine(sqlutil.TestDB_Sqlite3.DriverName, sqlutil.TestDB_Sqlite3.ConnStr) //x, err := xorm.NewEngine(sqlutil.TestDB_Mysql.DriverName, sqlutil.TestDB_Mysql.ConnStr) //x, err := xorm.NewEngine(sqlutil.TestDB_Postgres.DriverName, sqlutil.TestDB_Postgres.ConnStr) if err != nil { t.Fatalf("Failed to init in memory sqllite3 db %v", err) } sqlutil.CleanDB(x) if err := SetEngine(x, false); err != nil { t.Fatal(err) } }
func TestMigrations(t *testing.T) { //log.NewLogger(0, "console", `{"level": 0}`) testDBs := []sqlutil.TestDB{ sqlutil.TestDB_Sqlite3, } for _, testDB := range testDBs { Convey("Initial "+testDB.DriverName+" migration", t, func() { x, err := xorm.NewEngine(testDB.DriverName, testDB.ConnStr) So(err, ShouldBeNil) sqlutil.CleanDB(x) mg := NewMigrator(x) //mg.LogLevel = log.DEBUG AddMigrations(mg) err = mg.Start() So(err, ShouldBeNil) // tables, err := x.DBMetas() // So(err, ShouldBeNil) // // fmt.Printf("\nDB Schema after migration: table count: %v\n", len(tables)) // // for _, table := range tables { // fmt.Printf("\nTable: %v \n", table.Name) // for _, column := range table.Columns() { // fmt.Printf("\t %v \n", column.String(x.Dialect())) // } // // if len(table.Indexes) > 0 { // fmt.Printf("\n\tIndexes:\n") // for _, index := range table.Indexes { // fmt.Printf("\t %v (%v) %v \n", index.Name, strings.Join(index.Cols, ","), indexTypes[index.Type]) // } // } // } }) } }