@@ -90,15 +90,15 @@ func TestRegistry_WithOptional(t *testing.T) {
9090
9191 t .Run ("Enabled false" , func (t * testing.T ) {
9292 r := migration .NewRegistry ()
93- result := r .WithOptional (m , false )
93+ result := r .WithOptional (m , false , "test-migration" )
9494 require .Same (t , r , result )
9595 require .Equal (t , 1 , r .Count ())
9696 require .Equal (t , migration .SchemaVersion (0 ), r .TargetVersion ())
9797 require .Equal (t , m , r .Entries ()[0 ])
9898 })
9999 t .Run ("Enabled true" , func (t * testing.T ) {
100100 r := migration .NewRegistry ()
101- result := r .WithOptional (m , true )
101+ result := r .WithOptional (m , true , "test-migration" )
102102 require .Same (t , r , result )
103103 require .Equal (t , 1 , r .Count ())
104104 require .Equal (t , migration .SchemaVersion (1 ), r .TargetVersion ())
@@ -118,7 +118,7 @@ func TestRegistry_WithOptional_PanicOnMaxMigrations(t *testing.T) {
118118 require .Panics (
119119 t ,
120120 func () {
121- r .WithOptional (m , true )
121+ r .WithOptional (m , true , "test-migration" )
122122 },
123123 "expected panic when exceeding 64 migrations" ,
124124 )
@@ -131,8 +131,8 @@ func TestRegistry_Entries(t *testing.T) {
131131 m2 := & mockMigration {}
132132
133133 r .With (m0 )
134- r .WithOptional (m1 , false )
135- r .WithOptional (m2 , false )
134+ r .WithOptional (m1 , false , "migration-1" )
135+ r .WithOptional (m2 , false , "migration-2" )
136136
137137 entries := r .Entries ()
138138 require .Equal (t , 3 , len (entries ))
@@ -148,11 +148,28 @@ func TestRegistry_TargetVersion(t *testing.T) {
148148 m2 := & mockMigration {}
149149
150150 r .With (m0 )
151- r .WithOptional (m1 , true )
152- r .WithOptional (m2 , false )
151+ r .WithOptional (m1 , true , "migration-1" )
152+ r .WithOptional (m2 , false , "migration-2" )
153153
154154 target := r .TargetVersion ()
155155 require .True (t , target .Has (0 ))
156156 require .True (t , target .Has (1 ))
157157 require .False (t , target .Has (2 ))
158158}
159+
160+ func TestRegistry_OptionalMigrationFlags (t * testing.T ) {
161+ r := migration .NewRegistry ()
162+ m0 := & mockMigration {}
163+ m1 := & mockMigration {}
164+ m2 := & mockMigration {}
165+
166+ r .With (m0 )
167+ r .WithOptional (m1 , true , "migration-1" )
168+ r .WithOptional (m2 , false , "migration-2" )
169+
170+ flags := r .OptionalMigrationFlags ()
171+ require .Equal (t , 3 , len (flags ))
172+ require .Equal (t , "" , flags [0 ])
173+ require .Equal (t , "migration-1" , flags [1 ])
174+ require .Equal (t , "migration-2" , flags [2 ])
175+ }
0 commit comments