test: coverage for tabletype added (#6496)
* test: coverage for tabletype added * test: tidb exclueded --------- Co-authored-by: Saeid Saeidee <s.saeidee@sensysgatso.com>
This commit is contained in:
parent
a7f01bd1b2
commit
1fb26ac90e
@ -265,6 +265,10 @@ func isTiDB() bool {
|
|||||||
return os.Getenv("GORM_DIALECT") == "tidb"
|
return os.Getenv("GORM_DIALECT") == "tidb"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func isMysql() bool {
|
||||||
|
return os.Getenv("GORM_DIALECT") == "mysql"
|
||||||
|
}
|
||||||
|
|
||||||
func db(unscoped bool) *gorm.DB {
|
func db(unscoped bool) *gorm.DB {
|
||||||
if unscoped {
|
if unscoped {
|
||||||
return DB.Unscoped()
|
return DB.Unscoped()
|
||||||
|
@ -1598,3 +1598,48 @@ func TestMigrateExistingBoolColumnPG(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestTableType(t *testing.T) {
|
||||||
|
// currently it is only supported for mysql driver
|
||||||
|
if !isMysql() {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
const tblName = "cities"
|
||||||
|
const tblSchema = "gorm"
|
||||||
|
const tblType = "BASE TABLE"
|
||||||
|
const tblComment = "foobar comment"
|
||||||
|
|
||||||
|
type City struct {
|
||||||
|
gorm.Model
|
||||||
|
Name string `gorm:"unique"`
|
||||||
|
}
|
||||||
|
|
||||||
|
DB.Migrator().DropTable(&City{})
|
||||||
|
|
||||||
|
if err := DB.Set("gorm:table_options", fmt.Sprintf("ENGINE InnoDB COMMENT '%s'", tblComment)).AutoMigrate(&City{}); err != nil {
|
||||||
|
t.Fatalf("failed to migrate cities tables, got error: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
tableType, err := DB.Table("cities").Migrator().TableType(&City{})
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to get table type, got error %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if tableType.Schema() != tblSchema {
|
||||||
|
t.Fatalf("expected tblSchema to be %s but got %s", tblSchema, tableType.Schema())
|
||||||
|
}
|
||||||
|
|
||||||
|
if tableType.Name() != tblName {
|
||||||
|
t.Fatalf("expected table name to be %s but got %s", tblName, tableType.Name())
|
||||||
|
}
|
||||||
|
|
||||||
|
if tableType.Type() != tblType {
|
||||||
|
t.Fatalf("expected table type to be %s but got %s", tblType, tableType.Type())
|
||||||
|
}
|
||||||
|
|
||||||
|
comment, ok := tableType.Comment()
|
||||||
|
if !ok || comment != tblComment {
|
||||||
|
t.Fatalf("expected comment %s got %s", tblComment, comment)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user