| 12345678910111213141516171819202122 |
- 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
- }
|