migrate.go 630 B

1234567891011121314151617181920212223242526272829
  1. package tests
  2. import (
  3. "testing"
  4. "github.com/jinzhu/gorm"
  5. )
  6. func TestMigrate(t *testing.T, db *gorm.DB) {
  7. allModels := []interface{}{&User{}, &Account{}, &Pet{}, &Toy{}, &Company{}, &Language{}}
  8. for _, m := range allModels {
  9. if db.Migrator().HasTable(m) {
  10. if err := db.Migrator().DropTable(m); err != nil {
  11. t.Errorf("Failed to drop table, got error %v", err)
  12. }
  13. }
  14. }
  15. if err := db.AutoMigrate(allModels...); err != nil {
  16. t.Errorf("Failed to auto migrate, but got error %v", err)
  17. }
  18. for _, m := range allModels {
  19. if !db.Migrator().HasTable(m) {
  20. t.Errorf("Failed to create table for %#v", m)
  21. }
  22. }
  23. }