diff --git a/crates/core/src/view_admin.rs b/crates/core/src/view_admin.rs index 16f7a7f..a476154 100644 --- a/crates/core/src/view_admin.rs +++ b/crates/core/src/view_admin.rs @@ -162,6 +162,7 @@ DELETE FROM ps_buckets; DELETE FROM ps_untyped; DELETE FROM ps_updated_rows; DELETE FROM ps_kv WHERE key != 'client_id'; +DELETE FROM ps_sync_state; ", )?; diff --git a/dart/test/sync_test.dart b/dart/test/sync_test.dart index f4f367c..9335d62 100644 --- a/dart/test/sync_test.dart +++ b/dart/test/sync_test.dart @@ -182,6 +182,21 @@ void main() { isNotEmpty); } }); + + test('clearing database clears sync status', () { + pushSyncData('prio1', '1', 'row-0', 'PUT', {'col': 'hi'}); + + expect( + pushCheckpointComplete( + '1', null, [_bucketChecksum('prio1', 1, checksum: 0)]), + isTrue); + expect(db.select('SELECT powersync_last_synced_at() AS r').single, + {'r': isNotNull}); + + db.execute('SELECT powersync_clear(0)'); + expect(db.select('SELECT powersync_last_synced_at() AS r').single, + {'r': isNull}); + }); }); }