Gluesync SQL to NoSQL
Mapping target document IDs
By default Gluesync stores documents on a target NoSQL db store with an ID that looks like this: TABLENAME::1
where TABLENAME
is your source entity name, ::
is the default separator and 1
is the one of your PKs or defined key value. Of course multiple keys are supported and will be added one after the other separated by the default separator value.
Customizing the default behaviour
You can customize the default behaviour by specifiyng in your source config file this mapping:
{
...
"entitiesKeyMapping": {
"TABLENAME": {
"separator": "_",
"fields": ["ORDERS_ID"],
"prefix": ""
},
"CUSTOMERS": {
"separator": ":",
"fields": ["ID"],
"prefix": "ID"
},
"ADDRESSES": {
"separator": "-",
"fields": ["AD_ID"],
"prefix": "ADR_ID"
},
...
},
...
}
-
entity name: the name of the source entity, as per our example here
TABLENAME
orADDRESSES
;-
separator (can be left empty as
""
): defaults to::
. Is the string used as a separator betweenentity name
and each of your keys; -
fields (array): is the list of each one of your keys. You should use the real columns name, aliases are not supported;
-
prefix (can be left empty as
""
): defaults toentity name
. Is the prefix used when composing the object key, for example:ADR_ID-1
whereADR_ID
is the prefix,-
is the value separator and1
is the value ofAD_ID
key / column.
-