Автоматическая отметка времени в 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.