check column order after migration, flaky test https://github.com/go-gorm/gorm/issues/4351
(t *testing.T)
| 869 | // check column order after migration, flaky test |
| 870 | // https://github.com/go-gorm/gorm/issues/4351 |
| 871 | func TestMigrateColumnOrder(t *testing.T) { |
| 872 | type UserMigrateColumn struct { |
| 873 | ID uint |
| 874 | } |
| 875 | DB.Migrator().DropTable(&UserMigrateColumn{}) |
| 876 | DB.AutoMigrate(&UserMigrateColumn{}) |
| 877 | |
| 878 | type UserMigrateColumn2 struct { |
| 879 | ID uint |
| 880 | F1 string |
| 881 | F2 string |
| 882 | F3 string |
| 883 | F4 string |
| 884 | F5 string |
| 885 | F6 string |
| 886 | F7 string |
| 887 | F8 string |
| 888 | F9 string |
| 889 | F10 string |
| 890 | F11 string |
| 891 | F12 string |
| 892 | F13 string |
| 893 | F14 string |
| 894 | F15 string |
| 895 | F16 string |
| 896 | F17 string |
| 897 | F18 string |
| 898 | F19 string |
| 899 | F20 string |
| 900 | F21 string |
| 901 | F22 string |
| 902 | F23 string |
| 903 | F24 string |
| 904 | F25 string |
| 905 | F26 string |
| 906 | F27 string |
| 907 | F28 string |
| 908 | F29 string |
| 909 | F30 string |
| 910 | F31 string |
| 911 | F32 string |
| 912 | F33 string |
| 913 | F34 string |
| 914 | F35 string |
| 915 | } |
| 916 | if err := DB.Table("user_migrate_columns").AutoMigrate(&UserMigrateColumn2{}); err != nil { |
| 917 | t.Fatalf("failed to auto migrate, got error: %v", err) |
| 918 | } |
| 919 | |
| 920 | columnTypes, err := DB.Table("user_migrate_columns").Migrator().ColumnTypes(&UserMigrateColumn2{}) |
| 921 | if err != nil { |
| 922 | t.Fatalf("failed to get column types, got error: %v", err) |
| 923 | } |
| 924 | typ := reflect.Indirect(reflect.ValueOf(&UserMigrateColumn2{})).Type() |
| 925 | numField := typ.NumField() |
| 926 | if numField != len(columnTypes) { |
| 927 | t.Fatalf("column's number not match struct and ddl, %d != %d", numField, len(columnTypes)) |
| 928 | } |
nothing calls this directly
no test coverage detected