Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development suggestion - reimplement spreadsheet migration #7

Open
daniwelter opened this issue Jul 16, 2019 · 0 comments
Open

Development suggestion - reimplement spreadsheet migration #7

daniwelter opened this issue Jul 16, 2019 · 0 comments
Labels
enhancement New feature or request

Comments

@daniwelter
Copy link
Member

The current spreadsheet migration strategy is based on going through each tab in the spreadsheet, checking the existence of each property and migrating it if necessary, plus migrating all user-friendly fields (names, descriptions etc) regardless of whether changes were made to the metadata or not. This removes the need to know the version of the metadata each tab in the spreadsheet is at prior to migration. One downside of this strategy is that it makes it difficult to add new required columns - this functionality is currently not implemented!

An alternative implementation strategy for migrations could be to first build a full new spreadsheet of the latest schemas (underlying functionality already exists - just requires a function to pull it together), then essentially compare the old and the new spreadsheets tab by tab. Data for properties present in both is copied over, columns present in the new spreadsheet but not the old one are deleted to avoid column overload (unless they are added columns in the migrations list!) and unused tabs are deleted.

The advantage of the latter approach would be that the code duplication between the ingest-client spreadsheet generator and the schema-template-generator app for generating user-friendly headers could be removed. This code duplication has the potential to cause issues if changes are made to one repo and not replicated to the other.

@daniwelter daniwelter added the enhancement New feature or request label Jul 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant