nopSolutions / nopCommerce

ASP.NET Core eCommerce software. nopCommerce is a free and open-source shopping cart.
https://www.nopcommerce.com
Other
9.19k stars 5.27k forks source link

Add a way to keep plugin data when uninstalling #7083

Open RomanovM opened 7 months ago

RomanovM commented 7 months ago

nopCommerce version: 4.60

We need a generic way to keep plugin data when uninstalling to avoid creating such a method in each plugin.

Suggestion: https://www.nopcommerce.com/boards/topic/84184/remove-all-plugin-tables-on-plugin-uninstall-setting

SelectSystemsInternational commented 6 months ago

I have two settings in my Plugins

Delete Plugin Tables on Uninstall - If ticked it will delete the tables

Delete Configuration Data on Uninstall - If ticked will delete the settings assicated withthe plugin

If ever needed you have to option of completely unistall and delete plugin but not loose config and/or tables

hoffmanntravis commented 3 months ago

Note: this comment pertains to the Setting table specifically, not files stored on the file system. Our use case is primarily lost Settings row data in the database.

One way to implement this might be to keep the previous settings in another table, or column within the existing table. PreviousSettingValue column, or perhaps setting history linking table with versions and dates. I don't think for most cases the history has to be comprehensive and n - 1 would be adequate.

To me, the overall goal would be if a plugin is uninstalled and then subsequently re-installed it either just takes the last settings or prompts the user to take the last settings. Or maybe add a checkbox to optionally import the previous settings when installing the plugin.