GetCurrentDBVersion returns the current db version
(engine *xorm.Engine)
| 116 | |
| 117 | // GetCurrentDBVersion returns the current db version |
| 118 | func GetCurrentDBVersion(engine *xorm.Engine) (int64, error) { |
| 119 | if err := engine.Sync(new(entity.Version)); err != nil { |
| 120 | return -1, fmt.Errorf("sync version failed: %v", err) |
| 121 | } |
| 122 | |
| 123 | currentVersion := &entity.Version{ID: 1} |
| 124 | has, err := engine.Get(currentVersion) |
| 125 | if err != nil { |
| 126 | return -1, fmt.Errorf("get first version failed: %v", err) |
| 127 | } |
| 128 | if !has { |
| 129 | _, err := engine.InsertOne(&entity.Version{ID: 1, VersionNumber: 0}) |
| 130 | if err != nil { |
| 131 | return -1, fmt.Errorf("insert first version failed: %v", err) |
| 132 | } |
| 133 | return 0, nil |
| 134 | } |
| 135 | return currentVersion.VersionNumber, nil |
| 136 | } |
| 137 | |
| 138 | // ExpectedVersion returns the expected db version |
| 139 | func ExpectedVersion() int64 { |