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
TABLENAMEorADDRESSES;-
separator (can be left empty as
""): defaults to::. Is the string used as a separator betweenentity nameand 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-1whereADR_IDis the prefix,-is the value separator and1is the value ofAD_IDkey / column.
-