这是indexloc提供的服务,不要输入任何密码
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions cli/commands/migrate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,8 @@ func testMigrate(t *testing.T, endpoint *url.URL, migrationsDir string) {
table: test
type: untrack_table
`)
mustWriteFile(t, migrationsDir, "2_add_table_test.up.sql", `CREATE TABLE "author"("id" serial NOT NULL, PRIMARY KEY ("id") )`)
mustWriteFile(t, migrationsDir, "2_add_table_test.down.sql", `DROP TABLE "author";`)

// Apply 1_create_table_test.up.sql
testMigrateApply(t, endpoint, migrationsDir, "1", "", "", "")
Expand Down
15 changes: 10 additions & 5 deletions cli/migrate/migrate.go
Original file line number Diff line number Diff line change
Expand Up @@ -782,6 +782,7 @@ func (m *Migrate) readDown(limit int64, ret chan<- interface{}) {
// to stop execution because it might have received a stop signal on the
// GracefulStop channel.
func (m *Migrate) runMigrations(ret <-chan interface{}) error {
var lastInsertVersion int64
for r := range ret {
if m.stop() {
return nil
Expand All @@ -799,14 +800,18 @@ func (m *Migrate) runMigrations(ret <-chan interface{}) error {
return err
}

if int64(migr.Version) == migr.TargetVersion {
// Insert Version number into the table
if err := m.databaseDrv.InsertVersion(int64(migr.Version)); err != nil {
return err
version := int64(migr.Version)
if version == migr.TargetVersion {
if version != lastInsertVersion {
// Insert Version number into the table
if err := m.databaseDrv.InsertVersion(version); err != nil {
return err
}
lastInsertVersion = version
}
} else {
// Delete Version number from the table
if err := m.databaseDrv.RemoveVersion(int64(migr.Version)); err != nil {
if err := m.databaseDrv.RemoveVersion(version); err != nil {
return err
}
}
Expand Down