From 174f28cd5400ac9a5516400ece4c31046b2e4490 Mon Sep 17 00:00:00 2001 From: c9s Date: Fri, 19 Jan 2024 00:34:02 +0800 Subject: [PATCH] improve bbgo db migration process --- pkg/service/database.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pkg/service/database.go b/pkg/service/database.go index ffacc815c2..630946ba6f 100644 --- a/pkg/service/database.go +++ b/pkg/service/database.go @@ -73,8 +73,22 @@ func (s *DatabaseService) Upgrade(ctx context.Context) error { rh := rockhopper.New(s.Driver, dialect, s.DB.DB, rockhopper.TableName) migrations = migrations.FilterPackage([]string{"main"}).SortAndConnect() + if len(migrations) == 0 { + return nil + } + + _, lastAppliedMigration, err := rh.FindLastAppliedMigration(ctx, migrations) + if err != nil { + return err + } + + if lastAppliedMigration != nil { + return rockhopper.Up(ctx, rh, lastAppliedMigration.Next, 0) + } - return rockhopper.Align(ctx, rh, 20231123125402, migrations) + // TODO: use align in the next major version + // return rockhopper.Align(ctx, rh, 20231123125402, migrations) + return rockhopper.Up(ctx, rh, migrations.Head(), 0) } func ReformatMysqlDSN(dsn string) (string, error) {