Is there a way to create dynamic column (as a key/value) names using the values returned from the query throw DIH (DataImportHandler)?
For example:
<entity name="foo" dataSource="my_database" query="select key,value from foo where id=${item.id}">
<field column="${foo.key}" value="${foo.value}" name="${foo.key}_s"/>
</entity>
??
Use ScriptTransformer -
Example -
Data Config - Add custom field -
<script><![CDATA[
function addfield(row){
var fieldName = row.get('key') + "_s"
row.put(fieldName, row.get('value'));
return row;
}
]]></script>
Entity mapping -
<entity name="foo" dataSource="my_database" transformer="script:addfield" query="select key,value from foo where id=${item.id}">
......
</entity>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With