PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come risparmiare tempo nel database in Go quando si utilizza GORM e Postgresql?

Indagato ulteriormente questo problema. Al momento, in GORM non è supportato alcun tipo di data/ora ad eccezione di timestamp with time zone

Guarda questa parte del codice da dialect_postgres.go :

case reflect.Struct:
   if _, ok := dataValue.Interface().(time.Time); ok {
      sqlType = "timestamp with time zone"
}

Quindi in pratica vedo due opzioni per te:

Usa varchar(10) in DB e string in Go, salvalo semplicemente come "9:00 PM" (dove 10 è un numero che fa per te)

Oppure usa timestamp with time zone nel DB, time.Time in Vai e formatta la parte della data come data costante, 01/01/1970, ad esempio:

time.Parse("2006-01-02 3:04PM", "1970-01-01 9:00PM")

In tal caso dovrai omettere la parte relativa alla data nella presentazione, ma se prevedi di selezionare per intervallo di date, potrebbe funzionare meglio per te.