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 }