Автоматическая отметка времени в Slick 3 - пусто при вставке

Я определил столбец так:

def lastChecked = column[Timestamp]("LAST_CHECKED", O.Default(new Timestamp(System.currentTimeMillis())))

И когда я вставляю данные в таблицу, я пропускаю этот столбец. Но Слик вставляет этот столбец как нулевое значение. Как это можно исправить?

1 ответ

Решение

Вам необходимо указать значение по умолчанию для поля на уровне БД. Для HSQLDB определите столбец следующим образом:

last_checked TIMESTAMP DEFAULT CURRENT_TIMESTAMP

В слике будет достаточно определить поле с типом отметки времени:

val lastChecked: Rep[java.sql.Timestamp] = column[java.sql.Timestamp]("last_checked")

Согласно скользкой документации O.Default используется только для операторов DDL.

Другие вопросы по тегам