| package model | |
| import "github.com/QuantumNous/new-api/common" | |
| // GetDBTimestamp returns a UNIX timestamp from database time. | |
| // Falls back to application time on error. | |
| func GetDBTimestamp() int64 { | |
| var ts int64 | |
| var err error | |
| switch { | |
| case common.UsingPostgreSQL: | |
| err = DB.Raw("SELECT EXTRACT(EPOCH FROM NOW())::bigint").Scan(&ts).Error | |
| case common.UsingSQLite: | |
| err = DB.Raw("SELECT strftime('%s','now')").Scan(&ts).Error | |
| default: | |
| err = DB.Raw("SELECT UNIX_TIMESTAMP()").Scan(&ts).Error | |
| } | |
| if err != nil || ts <= 0 { | |
| return common.GetTimestamp() | |
| } | |
| return ts | |
| } | |