Skip to content

Provide an upgrade assistant for application.json #372

@linkdotnet

Description

@linkdotnet

While the MIGRATION.md is vital, we need an automatic way of transforming the appsettings.json.

Rationale

Major version can have new entries, that might be mandatory. Therefore we need a way of telling folks that there is something new.

Another usecase is that we move entries from a section inside the appsettings.json (more likely the appsettings.dev.json and friends as the appsettings.json itself is version-controlled) to another one. The current way of dealing with it, is via the MIGRATION.md and folks have to do it manually.

Solution

Ideally, we have a companion tool (inside the tools) folder that does that. For example Nx or Angular allow also automatic migrations of files. nx migrate - we would have a similar tool.
If completely new entries were made, we should inform people what they have to do, maybe with a link to the docs. But that should be part of the migration.

Technical Requirements

  • Documentation is a must. We have to guide folks through the process under the docs/ folder
  • We need a new marker inside the appsettings.*.json to set the current version. Having a log of entries might not be ideal and just adds bloat.
  • The console should have colorful output to make warnings or errors obvious. Especially if we have new entries where people have to provide new values.
  • Backup all files before, so we can restore them in the worst case

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions