I've realized that I don't really understand what it means when we say that Infoqube can sync with external databases. From what I have read it seems that Infoqube will retrieve data from an external database via an SQL command (SELECT statement?). I'm guessing that IQ puts each retrieved row into a separate IQ item, and each retrieved column into a an IQ field according to a specified mapping. So, if you do the same sync later, if the query issued to the external database returns more rows, additional IQ items will be created accordingly. And previously created IQ items will remain the same except for changed data in fields? Of course this would assume some method of correlating the rows returned from the external database to the items already synced into IQ.
From what I read it seems that the sync is one-way - changes to the data in the external database are synced into IQ, but changes to the data in IQ are not synced back to the external database.
Also I am wondering if this syncing mechanism would provide a way to do things in IQ that we can't using IQs own capabilities alone - such as creating in IQ the results of a "many-to-one" query drawing data from multiple tables in the external database.
Is my idea of syncing close to what IQ does, or am I misunderstanding it?
Comments