Browse Source

models/migrations: fix little logic error

tags/v0.9.99
Unknwon 9 years ago
parent
commit
0b3722c359
1 changed files with 12 additions and 10 deletions
  1. 12
    10
      models/migrations/migrations.go

+ 12
- 10
models/migrations/migrations.go View File

@@ -47,8 +47,8 @@ type Version struct {
}

// This is a sequence of migrations. Add new migrations to the bottom of the list.
// If you want to "retire" a migration, remove it from the top of the list and
// update _MIN_VER_DB accordingly
// If you want to "retire" a migration, remove it from the top of the list and
// update _MIN_VER_DB accordingly
var migrations = []Migration{
NewMigration("generate collaboration from access", accessToCollaboration), // V0 -> V1
}
@@ -65,7 +65,7 @@ func Migrate(x *xorm.Engine) error {
return fmt.Errorf("get: %v", err)
} else if !has {
// If the user table does not exist it is a fresh installation and we
// can skip all migrations
// can skip all migrations.
needsMigration, err := x.IsTableExist("user")
if err != nil {
return err
@@ -76,7 +76,7 @@ func Migrate(x *xorm.Engine) error {
return err
}
// If the user table is empty it is a fresh installation and we can
// skip all migrations
// skip all migrations.
needsMigration = !isEmpty
}
if !needsMigration {
@@ -102,6 +102,13 @@ func Migrate(x *xorm.Engine) error {
return nil
}

func sessionRelease(sess *xorm.Session) {
if !sess.IsCommitedOrRollbacked {
sess.Rollback()
}
sess.Close()
}

func accessToCollaboration(x *xorm.Engine) error {
type Collaboration struct {
ID int64 `xorm:"pk autoincr"`
@@ -118,12 +125,7 @@ func accessToCollaboration(x *xorm.Engine) error {
}

sess := x.NewSession()
defer func() {
if sess.IsCommitedOrRollbacked {
sess.Rollback()
}
sess.Close()
}()
defer sessionRelease(sess)
if err = sess.Begin(); err != nil {
return err
}

Loading…
Cancel
Save