loic-sharma / BaGet

A lightweight NuGet and symbol server
https://loic-sharma.github.io/BaGet/
MIT License
2.62k stars 680 forks source link

Create a tool to migrate between storage providers #66

Open loic-sharma opened 6 years ago

loic-sharma commented 6 years ago

See this discussion: https://github.com/loic-sharma/BaGet/pull/64#issuecomment-409054293

Customers cannot switch their storage provider easily. Today, customers have to mess with BaGet's storage by hand which can lead to weird issues. A tool should be created to automate this.

LordMike commented 5 years ago

In theory, one should be able to push all packages from a store, again, and achieve the desired results?

loic-sharma commented 5 years ago

Pushing all packages again with a clean database is indeed the simplest solution.

Really, this issue asks how to resolve state inconsistencies between storage and the database. Ideally, re-pushing a package that was previously uploaded would fix any inconsistencies. Today, BaGet will fail an uploaded if the database believes that the package already exists.