@@ -487,7 +487,7 @@ func (m *Migrate) read(from int, to int, ret chan<- interface{}) {
487
487
}
488
488
489
489
prev , err := m .sourceDrv .Prev (suint (from ))
490
- if os . IsNotExist (err ) && to == - 1 {
490
+ if errors . Is (err , os . ErrNotExist ) && to == - 1 {
491
491
// apply nil migration
492
492
migr , err := m .newMigration (suint (from ), - 1 )
493
493
if err != nil {
@@ -580,7 +580,7 @@ func (m *Migrate) readUp(from int, limit int, ret chan<- interface{}) {
580
580
581
581
// apply next migration
582
582
next , err := m .sourceDrv .Next (suint (from ))
583
- if os . IsNotExist (err ) {
583
+ if errors . Is (err , os . ErrNotExist ) {
584
584
// no limit, but no migrations applied?
585
585
if limit == - 1 && count == 0 {
586
586
ret <- ErrNoChange
@@ -666,7 +666,7 @@ func (m *Migrate) readDown(from int, limit int, ret chan<- interface{}) {
666
666
}
667
667
668
668
prev , err := m .sourceDrv .Prev (suint (from ))
669
- if os . IsNotExist (err ) {
669
+ if errors . Is (err , os . ErrNotExist ) {
670
670
// no limit or haven't reached limit, apply "first" migration
671
671
if limit == - 1 || limit - count > 0 {
672
672
firstVersion , err := m .sourceDrv .First ()
@@ -785,9 +785,9 @@ func (m *Migrate) versionExists(version uint) (result error) {
785
785
}
786
786
}()
787
787
}
788
- if os . IsExist (err ) {
788
+ if errors . Is (err , os . ErrExist ) {
789
789
return nil
790
- } else if ! os . IsNotExist (err ) {
790
+ } else if ! errors . Is (err , os . ErrNotExist ) {
791
791
return err
792
792
}
793
793
@@ -800,14 +800,15 @@ func (m *Migrate) versionExists(version uint) (result error) {
800
800
}
801
801
}()
802
802
}
803
- if os . IsExist (err ) {
803
+ if errors . Is (err , os . ErrExist ) {
804
804
return nil
805
- } else if ! os . IsNotExist (err ) {
805
+ } else if ! errors . Is (err , os . ErrNotExist ) {
806
806
return err
807
807
}
808
808
809
- m .logErr (fmt .Errorf ("no migration found for version %d" , version ))
810
- return os .ErrNotExist
809
+ err = fmt .Errorf ("no migration found for version %d: %w" , version , err )
810
+ m .logErr (err )
811
+ return err
811
812
}
812
813
813
814
// stop returns true if no more migrations should be run against the database
@@ -835,7 +836,7 @@ func (m *Migrate) newMigration(version uint, targetVersion int) (*Migration, err
835
836
836
837
if targetVersion >= int (version ) {
837
838
r , identifier , err := m .sourceDrv .ReadUp (version )
838
- if os . IsNotExist (err ) {
839
+ if errors . Is (err , os . ErrNotExist ) {
839
840
// create "empty" migration
840
841
migr , err = NewMigration (nil , "" , version , targetVersion )
841
842
if err != nil {
@@ -855,7 +856,7 @@ func (m *Migrate) newMigration(version uint, targetVersion int) (*Migration, err
855
856
856
857
} else {
857
858
r , identifier , err := m .sourceDrv .ReadDown (version )
858
- if os . IsNotExist (err ) {
859
+ if errors . Is (err , os . ErrNotExist ) {
859
860
// create "empty" migration
860
861
migr , err = NewMigration (nil , "" , version , targetVersion )
861
862
if err != nil {
0 commit comments