Fix pouch db migration edge cases #9820
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes a couple of pouch db migration bugs.
First, I was writing back to the pouchDB db to mark each entry as migrated so that we didn't accidentally re-import them. This was causing problems due to the internal structure of the pouchDB which has some uniqueness constraints that were being violated. Now I just sidestep that issue by storing the ids of the projects that have already been migrated in a separate db. This fixes the issue we were seeing with github projects in testing.
Secondly, I now check to see if the pouchDB actually exists before doing any migrating. This fixes an issue that prevented accessing old versions of the editor if you were in a browser with no pre-existing pouchDB. Figuring out if the db already exists was a little tricky; see the comment in the function for an explanation.