| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package migrations
- import (
- "testing"
- "github.com/go-xorm/xorm"
- . "github.com/smartystreets/goconvey/convey"
- )
- // func cleanDB(x *xorm.Engine) {
- // tables, _ := x.DBMetas()
- // sess := x.NewSession()
- // defer sess.Close()
- //
- // for _, table := range tables {
- // if _, err := sess.Exec("SET FOREIGN_KEY_CHECKS = 0"); err != nil {
- // panic("Failed to disable foreign key checks")
- // }
- // if _, err := sess.Exec("DROP TABLE " + table.Name); err != nil {
- // panic(fmt.Sprintf("Failed to delete table: %v, err: %v", table.Name, err))
- // }
- // if _, err := sess.Exec("SET FOREIGN_KEY_CHECKS = 1"); err != nil {
- // panic("Failed to disable foreign key checks")
- // }
- // }
- // }
- //
- // var indexTypes = []string{"Unknown", "", "UNIQUE"}
- //
- func TestMigrator(t *testing.T) {
- Convey("Migrator", t, func() {
- x, err := xorm.NewEngine(SQLITE, ":memory:")
- So(err, ShouldBeNil)
- mg := NewMigrator(x)
- Convey("Given one migration", func() {
- mg.AddMigration("test migration", new(RawSqlMigration).
- Sqlite(`
- CREATE TABLE account (
- id INTEGER PRIMARY KEY AUTOINCREMENT
- )`).
- Mysql(`
- CREATE TABLE account (
- id BIGINT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id)
- )`))
- err := mg.Start()
- So(err, ShouldBeNil)
- log, err := mg.GetMigrationLog()
- So(err, ShouldBeNil)
- So(len(log), ShouldEqual, 1)
- })
- // So(err, ShouldBeNil)
- //
- // So(len(tables), ShouldEqual, 2)
- // 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])
- // }
- // }
- // }
- })
- }
|