You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ok, I admit, I sorta dabbled at support for this but didn't think it through.
The main blocker here is migrations. All meaningful migrations require writing operations to migrate the data.
A read-only replica isn't allowed to do those writes. So if it's the first replica to connect to a library after a schema change, it's unable to write the migration operations necessary to make data conform to the new schema.
This is going to require special behavior...
The text was updated successfully, but these errors were encountered:
The ability to store non-synced migration operations in-memory would probably make this possible.
A readonly replica can still generate operations, but it won't store or sync them anywhere. Migration can still work as normal, but it's lost on refresh and has to be re-applied each time.
I think this can be done with minimal added complexity.
A read only replica could still theoretically be allowed to write to the local database. It's only forbidden from syncing back.
As an app maker, you probably want to prevent local writes to not confuse users. Either that, or limit only to one initial sync. These would both be possible to do fairly easily.
This requires no changes except to forbid sync messages from readonly replicas. Local migrations are allowed and happen according to existing rules.
Ok, I admit, I sorta dabbled at support for this but didn't think it through.
The main blocker here is migrations. All meaningful migrations require writing operations to migrate the data.
A read-only replica isn't allowed to do those writes. So if it's the first replica to connect to a library after a schema change, it's unable to write the migration operations necessary to make data conform to the new schema.
This is going to require special behavior...
The text was updated successfully, but these errors were encountered: