From ce9d9bd3eca4e6157587b5a874fa469ae06ffd45 Mon Sep 17 00:00:00 2001 From: wkf928592 Date: Fri, 10 Sep 2021 10:19:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=9C=A832=E4=BD=8D=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E4=B8=AD=E5=81=9A=E8=BF=81=E7=A7=BB=E6=97=B6=EF=BC=8C=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=B7=E4=BD=9C=E4=B8=BA=E6=95=B4=E5=9E=8B=E5=A4=84?= =?UTF-8?q?=E7=90=86=E4=BC=9A=E9=80=A0=E6=88=90=E5=86=85=E5=AD=98=E6=BA=A2?= =?UTF-8?q?=E5=87=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改版本号作为字符串处理 --- cmd/migrate/migration/init.go | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/cmd/migrate/migration/init.go b/cmd/migrate/migration/init.go index 54261d1e..aed6c275 100644 --- a/cmd/migrate/migration/init.go +++ b/cmd/migrate/migration/init.go @@ -4,20 +4,18 @@ import ( "log" "path/filepath" "sort" - "strconv" "sync" - "github.com/spf13/cast" "gorm.io/gorm" ) var Migrate = &Migration{ - version: make(map[int]func(db *gorm.DB, version string) error), + version: make(map[string]func(db *gorm.DB, version string) error), } type Migration struct { db *gorm.DB - version map[int]func(db *gorm.DB, version string) error + version map[string]func(db *gorm.DB, version string) error mutex sync.Mutex } @@ -29,19 +27,19 @@ func (e *Migration) SetDb(db *gorm.DB) { e.db = db } -func (e *Migration) SetVersion(k int, f func(db *gorm.DB, version string) error) { +func (e *Migration) SetVersion(k string, f func(db *gorm.DB, version string) error) { e.mutex.Lock() defer e.mutex.Unlock() e.version[k] = f } func (e *Migration) Migrate() { - versions := make([]int, 0) + versions := make([]string, 0) for k := range e.version { versions = append(versions, k) } - if !sort.IntsAreSorted(versions) { - sort.Ints(versions) + if !sort.StringsAreSorted(versions) { + sort.Strings(versions) } var err error var count int64 @@ -55,14 +53,14 @@ func (e *Migration) Migrate() { count = 0 continue } - err = (e.version[v])(e.db.Debug(), strconv.Itoa(v)) + err = (e.version[v])(e.db.Debug(), v) if err != nil { log.Fatalln(err) } } } -func GetFilename(s string) int { +func GetFilename(s string) string { s = filepath.Base(s) - return cast.ToInt(s[:13]) + return s[:13] }