initial commit
This commit is contained in:
+27
@@ -0,0 +1,27 @@
|
||||
package sqaffold
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"code.aneur.in/go/version"
|
||||
)
|
||||
|
||||
func (s *Scaffold) GetVersion(appName string) (*version.Version, error) {
|
||||
row, err := s.QueryOne("select version from sqaffold_apps where name = ?", appName)
|
||||
switch {
|
||||
case err == nil:
|
||||
case err.Error() == "SQL logic error: no such table: sqaffold_apps (1)":
|
||||
fallthrough
|
||||
case errors.Is(err, ErrNoRows):
|
||||
return version.Parse("0")
|
||||
default:
|
||||
return nil, Err(err)
|
||||
}
|
||||
|
||||
return version.Parse(row.String("version"))
|
||||
}
|
||||
|
||||
func (s *Scaffold) setVersion(appName string, version *version.Version) error {
|
||||
_, err := s.Exec("insert into sqaffold_apps (name, version) values (?, ?)", appName, version.Text)
|
||||
return err
|
||||
}
|
||||
Reference in New Issue
Block a user