Open Tapppi opened 5 years ago
Objection shouldn't touch the JSON fields at all. It's a bug that the inner keys actually do change in some case.
@koskimas agreed, the option would've been an additional feature based on the "hidden feature" ;)
I fixed this for us by:
snakeCase
from lib/utils/identifierMapping.js
snakeCaseMappers()
factory that:
objection.snakeCaseMappers().parse()
for parsingsnakeCase
for formatting, but only until the first :
. Like mapLastPart
, but until instead of from the separatorI needed to revert the fix for this. It caused more problems than it fixed.
any news on this? (thanks for your continued great work, by the way.)
@lehni I did a proposal for this issue 😃
Using
snakeCaseMappers
, patching an object will not map inner keys, only the first level (columns), but using a FieldExpression will map the json field references.EDIT: IMHO, this should work consistently across, and there could be an option for
snakeCaseMappers | knexSnakeCaseMappers
, something likedeep|deepKeys|innerKeys
. Obviously I would prefer it to default tofalse
, and I'm guessing the usual expectation is around how the normal objects now work, but the default's not a big deal for me eitherway.