La plupart de mes modèles de table de base de données ont inserted_at et updated_at champs d'horodatage qui doit être mis à jour sur les événements de création et de mise à jour respectivement. Est-il possible de le faire d'une manière plus sèche et transparente dans Slick. Ces colonnes d'audit ne sont pas non plus requises dans ma projection Table (*
) et sont uniquement utilisées pour l'audit et le débogage. Une option était d'utiliser Sqltype personnalisé comme ci-dessous.lisse maintenir champ updated_at et inserted_at
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"))
Mais le code ci-dessus est spécifique à la base de données et H2 ne le supporte pas.
Combien de bases de données devez-vous prendre en charge? –
Idéalement, je préférerais avoir une solution de base de données neutre .. mais dans mon cas un strict minimum de 2 (MySQL et H2) .. –