sullivan- on master
add missing date in changelog (compare)
User.propsmight be a bigger deal
def mprop[A](propName: String): Prop[User, A]described in the ticket, and clearly mark in the ScalaDocs that it is provided as an IDEA workaround, and will go away after migration to scalameta
feat/metabranch when it comes out
_idfield if you don't supply one. At the moment, I kind of consider that a database concern, and not a domain model concern. I think you would run into trouble if you included an attribute named
_idin your domain model.
ObjectIdclass is provided by the MongoDB driver, which is an optional dependency, and the way longevity is currently written, it's pretty hard to support
ObjectIdcolumns without making the MongoDB driver a hard dependency. But, yeah, you can generate an
ObjectIdwithin the JVM which is pretty much guaranteed to be unique, and this would be the recommended approach.
ObjectIdwithout having to include that driver as a hard dependency - the user would just have to supply an implicit
shapeless.Generic[ObjectId]- or something like that.
updatedtimestamps from within the model. I’ve been maintaing my own timestamps but would be so cool if I could just reuse the ones already maintained by the framework.
writeTimestampsconfiguration) are for diagnostic purposes only, and are not part of your domain model. If you have timestamps in your domain model, you are doing the right thing by adding them in. The idea here is to not conflate persistence concerns and domain model design. For more discussion on this please see http://scabl.blogspot.com/2015/03/aeddd-3.html and http://scabl.blogspot.com/2015/03/aeddd-4.html
$inc, for instance. Or if you’re in SQLite, then allow you to do native SQL queries. Some food for thought… :)