【发布时间】:2016-12-27 21:50:36
【问题描述】:
我的大多数数据库表模型都有 inserted_at 和 updated_at 时间戳字段,它们必须分别在创建和更新事件时更新。是否有可能在 Slick 中以最干燥和透明的方式做到这一点。我的表投影 (*) 中也不需要这些审计列,仅用于审计和调试。一种选择是使用自定义 Sqltype,如下所示。
val insertedAt = column[Timestamp]("inserted_at", O.SqlType("TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP"))
val updatedAt = column[Timestamp]("updated_at", O.SqlType("TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"))
但上面的代码是特定于数据库的,H2 不支持它。
【问题讨论】:
-
您需要支持多少个数据库?
-
理想情况下希望有一个数据库中立的解决方案.. 但在我的情况下至少有 2 个(MySQL 和 H2)..