Использование ключевого слова DEFAULT в Postgres - PullRequest
1 голос
/ 16 января 2020

Я использую эту библиотеку https://github.com/go-pg/pg.

У меня есть простая модель.

type ChatAdmin struct {
    Id int64
    TgId int
    CreatedAt time.Time `pg:"default:now()"`
}

С этим кодом я пытаюсь вставить экземпляр в таблица.

func (m Model) createChatAdminByTgUserID(tgUserId int) (ChatAdmin, error) {
    admin := new(ChatAdmin)
    admin.TgId = tgUserId

    _, err := db.Model(admin).SelectOrInsert(admin)
    return *admin, err
}

После вставки я вижу строку в таблице, где create_at == NULL. Почему default:now() не работает?

Я пытался установить его с sql:"default:now()", но это не помогло.

Моя PostgreSQL версия: 11.66 работает на Ubuntu

Это журнал CREATE TABLE:

"chat_admins" ("id" bigserial, "tg_id" bigint, "created_at" timestamptz NOT NULL DEFAULT now(), PRIMARY KEY ("id"))

Это из фрагментов данных heroku после вставки:

enter image description here

...