Hi,
As part of fixing
https://www.assembla.com/spaces/liftweb/tickets/155-lift-mapper-%28record%29-camelcase-to-snake_case-for-case-insensitive-databases
, I would like to change the semantics of MappedField.name slightly:
Currently, the name is always lowercased, ie:
class SampleModel extends KeyedMapper[Long, SampleModel] {
object id extends MappedLongIndex(this)
object firstName extends MappedString(this, 32)
object moose extends MappedNullableLong(this)
object notNull extends MappedString(this, 32)
}
firstName.name == "firstname" && notNull.name == "notnull" && id.name=="id"
I would like to have name preserve the case of the field such that:
firstName.name == "firstName" && notNull.name == "notNull" && id.name=="id"
Reasons:
1) More consistent. css styles, default column headers etc based on name now
follows the actual
field name
2) Easier to implement #155 :-)
name is used when serializing a Mapped object as JSON. So the JSON
representation will be changed (unless we lowercase the name only when
creating JSON, but this goes against 1)
Now:
{
"$persisted":true,
"id":1,
"firstname":"Elwood",
"moose":null,
"notnull":""
}
After proposed change:
{
"$persisted":true,
"id":1,
"firstName":"Elwood",
"moose":null,
"notNull":""
}
I would like to get a feel for the pain this will cause people....
/Jeppe
--
You received this message because you are subscribed to the Google Groups
"Lift" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/liftweb?hl=en.