Hi all,
I have a large table on the server. I need my clients to have a far smaller subset for use offline and to sync that back afterwards, this goes for a number of tables and some tables ref others wth foreign keys.
With all that in mind I think I need the Ids of the local database copies to match the servers, how else to maintain reference relationships between tables?
This is where I'm unsure: I want to only get data from certain large tables which pertain to the particular user, I don't want them creating giant local tables for security, for performance (both at sync and during lookups to display and manipulate data)But if I try to sync only say records with Ids 3, 4 and 5, will the local db like that? will it not surely complain that local record with Id 1 & 2 dont exist and refuse to create non contiguous Ids? Maybe im imagining that and it'll be fine. Obvioulsy I can engineer logic to deal wiht this, I could create another field on the local table containing the key value for the serverside database and then use that in comparisons and when creating records. But that will be a lot of faff and I do have about 10 tables to setup sync for, I'm going to make errors and have to debug and yeah... doable but maybe there is a better way or no issue in the frist place.Hope my desicription makes sense and as always: thanks for any advice or help anyone can give.Best regards,Danny
Hi Danny,
From what I understood from your description... no issue in the first place. No problem with the ids that come from the database into local storage.
You will have problems if
https://success.outsystems.com/Documentation/10/Developing_an_Application/Use_Data/Offline/Offline_Data_Synchronization_Patterns/Read%2F%2FWrite_Data_Last_Write_Wins
https://success.outsystems.com/Documentation/10/Developing_an_Application/Use_Data/Offline/Offline_Data_Synchronization_Patterns/Read%2F%2FWrite_Data_With_Conflict_Detection
https://success.outsystems.com/Documentation/10/Developing_an_Application/Use_Data/Offline/Offline_Data_Synchronization_Patterns/Read%2F%2FWrite_Data_One-to-Many
If it's both situations you will have to do sort of a merge between the patterns.
Cheers,
José