**Breaking change**: Add resource_name value to file links objects#786
Open
**Breaking change**: Add resource_name value to file links objects#786
Conversation
Contributor
|
Ah, we don't have a good way for kinto plugins to provide a data migration script. Can do the required upgrade steps during init, and provide a rollback script in Upgrade would be like... INSERT INTO objects (id, resource_name, parent_id, data)
SELECT id, 'attachments', parent_id, data
FROM objects
WHERE parent_id = '__attachments__' and resource_name = ''
ON CONFLICT do nothing;
DELETE FROM objects WHERE parent_id = '__attachments__' and resource_name = '';Rollback would just invert that. In the remote-settings case, this should only take moments to run. But there could be a very brief outage where old pods and new pods have some crossover. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Before, the resource name value was an empty string.
Which makes it mysterious when introspecting the database manually:
Let's add a proper resource name.
This change is a touchy breaking change, and would require the following steps:
INSERT INTO objects (id, resource_name, parent_id, data) SELECT id, 'attachments', parent_id, data FROM objects WHERE parent_id = '__attachments__'DELETE FROM objects WHERE parent_id = '__attachments__'