@@ -1878,12 +1878,9 @@ func TestMigrateWithUniqueIndexAndUnique(t *testing.T) {
1878
1878
{name : "notUnique to unique" , from : & UniqueStruct1 {}, to : & UniqueStruct3 {}, checkFunc : checkUnique },
1879
1879
{name : "notUnique to uniqueIndex" , from : & UniqueStruct1 {}, to : & UniqueStruct5 {}, checkFunc : checkUniqueIndex },
1880
1880
{name : "notUnique to uniqueAndUniqueIndex" , from : & UniqueStruct1 {}, to : & UniqueStruct8 {}, checkFunc : checkMyIndex },
1881
- {name : "unique to notUnique" , from : & UniqueStruct3 {}, to : & UniqueStruct1 {}, checkFunc : checkNotUnique },
1882
1881
{name : "unique to unique" , from : & UniqueStruct3 {}, to : & UniqueStruct4 {}, checkFunc : checkUnique },
1883
1882
{name : "unique to uniqueIndex" , from : & UniqueStruct3 {}, to : & UniqueStruct5 {}, checkFunc : checkUniqueIndex },
1884
1883
{name : "unique to uniqueAndUniqueIndex" , from : & UniqueStruct3 {}, to : & UniqueStruct8 {}, checkFunc : checkMyIndex },
1885
- {name : "uniqueIndex to notUnique" , from : & UniqueStruct5 {}, to : & UniqueStruct2 {}, checkFunc : checkNotUnique },
1886
- {name : "uniqueIndex to unique" , from : & UniqueStruct5 {}, to : & UniqueStruct3 {}, checkFunc : checkUnique },
1887
1884
{name : "uniqueIndex to uniqueIndex" , from : & UniqueStruct5 {}, to : & UniqueStruct6 {}, checkFunc : checkUniqueIndex },
1888
1885
{name : "uniqueIndex to uniqueAndUniqueIndex" , from : & UniqueStruct5 {}, to : & UniqueStruct8 {}, checkFunc : checkMyIndex },
1889
1886
{name : "uniqueIndex to multi uniqueIndex" , from : & UniqueStruct5 {}, to : & UniqueStruct7 {}, checkFunc : checkMulIndex },
@@ -1903,6 +1900,18 @@ func TestMigrateWithUniqueIndexAndUnique(t *testing.T) {
1903
1900
})
1904
1901
}
1905
1902
1903
+ if DB .Dialector .Name () != "sqlserver" {
1904
+ // In SQLServer, If an index or constraint depends on the column,
1905
+ // this column will not be able to run ALTER
1906
+ // see https://stackoverflow.com/questions/19460912/the-object-df-is-dependent-on-column-changing-int-to-double/19461205#19461205
1907
+ // may we need to create another PR to fix it, see https://github.com/go-gorm/sqlserver/pull/106
1908
+ tests = []TestCase {
1909
+ {name : "unique to notUnique" , from : & UniqueStruct3 {}, to : & UniqueStruct1 {}, checkFunc : checkNotUnique },
1910
+ {name : "uniqueIndex to notUnique" , from : & UniqueStruct5 {}, to : & UniqueStruct2 {}, checkFunc : checkNotUnique },
1911
+ {name : "uniqueIndex to unique" , from : & UniqueStruct5 {}, to : & UniqueStruct3 {}, checkFunc : checkUnique },
1912
+ }
1913
+ }
1914
+
1906
1915
if DB .Dialector .Name () == "mysql" {
1907
1916
compatibilityTests := []TestCase {
1908
1917
{name : "oldUnique to notUnique" , to : UniqueStruct1 {}, checkFunc : checkNotUnique },
0 commit comments