Strictly pragmatical approach: it is way to easier to initialize the field with application, then reselect the record after INSERT and parse it again from result set. Here's how we do it usually:
val createAt = "created_at".TIMESTAMP.NOT_NULL(new Date)
The DEFAULT clause in column definition is meant to be translated to the corresponding DDL statement. I prefer not to deal with DEFAULT values on the backend, but if this is what your application requires, you may add it to your field's definition:
val createAt = "created_at".TIMESTAMP.NOT_NULL.DEFAULT("now()")
Note, however, that Circumflex doesn't automate the re-reading after DMLs, so you would need to call `refresh()` just after your `save()`.
Hope it helps,
Best regards,
Boris Okunskiy