Using transactions to group changes
Read and write transactions present a context where multiple changes can be made then finally committed to the DB or rolled back. This ensures that either all the changes get persisted, or no change is made to the DB (in the case of a rollback or exception).readTransaction.
Listen for changes in data
Usewatch to watch for changes to the dependent tables of any SQL query.
Insert, update, and delete data in the local database
Useexecute to run INSERT, UPDATE or DELETE queries.
Send changes in local data to your backend service
OverrideuploadData to send local updates to your backend service.
Accessing PowerSync connection status information
UsecurrentStatus and observe changes to listen for status changes to your PowerSync instance.
Wait for the initial sync to complete
Use thehasSynced property and observe status changes to indicate to the user whether the initial sync is in progress.
waitForFirstSync.
Report sync download progress
You can show users a progress bar when data downloads using thedownloadProgress property from the SyncStatusData object. downloadProgress.downloadedFraction gives you a value from 0.0 to 1.0 representing the total sync progress. This is especially useful for long-running initial syncs.
Example: