1
0
Fork 0
mirror of https://github.com/Eggbertx/gochan.git synced 2025-08-19 16:46:23 -07:00

Use more context/timeout queries in gochan-migrate, start using zerolog

This commit is contained in:
Eggbertx 2024-10-13 13:43:08 -07:00
parent 9d003d89a3
commit eb06047055
11 changed files with 307 additions and 200 deletions

View file

@ -25,7 +25,7 @@ var (
ErrCorruptedDB = errors.New("database contains gochan prefixed tables but is missing versioning tables (possibly corrupted)")
ErrDeprecatedDB = errors.New("database layout is deprecated, please run gochan-migration -updatedb")
ErrInvalidDBVersion = errors.New("invalid version flag returned by GetCompleteDatabaseVersion()")
targetDatabaseVersion = 3
targetDatabaseVersion = -1
)
func initDB(initFile string) error {
@ -84,9 +84,11 @@ func GetCompleteDatabaseVersion() (dbVersion, dbFlag int, err error) {
// CheckAndInitializeDatabase checks the validity of the database and initialises it if it is empty
func CheckAndInitializeDatabase(dbType string, targetDbVersionStr string) (err error) {
targetDatabaseVersion, err = strconv.Atoi(targetDbVersionStr)
if err != nil {
return err
if targetDatabaseVersion == -1 {
targetDatabaseVersion, err = strconv.Atoi(targetDbVersionStr)
if err != nil {
return err
}
}
dbVersion, versionFlag, err := GetCompleteDatabaseVersion()

View file

@ -65,10 +65,10 @@ func LogDiscard(events ...*zerolog.Event) {
}
}
// isTerminal returns true if the ModeCharDevice bit is set, meaning that
// RunningInTerminal returns true if the ModeCharDevice bit is set, meaning that
// gochan is probably running in a standard terminal and not being piped
// to a file
func isTerminal() bool {
func RunningInTerminal() bool {
fi, err := os.Stdout.Stat()
if err != nil {
return false
@ -91,7 +91,7 @@ func initLog(logPath string, logToConsole bool) (err error) {
var writer io.Writer
if logToConsole {
cw := zerolog.NewConsoleWriter()
cw.NoColor = !isTerminal()
cw.NoColor = !RunningInTerminal()
writer = zerolog.MultiLevelWriter(logFile, cw)
} else {
writer = logFile