OK, here's my suggestion, since I'm hitting this "feature" right now... I had created my db of products with no attributes, thinking I'll create it later... My mistake ;)
I don't have a patch yet, but if I end up coding this I'll see about uploading it.
The following assumes a product has already been created/saved and a SKU generated, and that the existing product had NO ATTRIBUTES AT ALL.
If the admin wants to add attributes to a product that has NO attributes, when they click ADD in Available Attributes, it will ask the user what to do with existing products with the SKU (delete, or move inventory to one particular attribute)
If the user selects delete, the existing product SKU entry is deleted, and new SKUs are created, with zero inventory.
If the user selects to move it to one attribute, then the new SKUs are inserted, then the existing SKU's inventory is assigned to the SKU that the user selected. For example, say we had a product called WIDGET with a sku of W001 (how imaginative). Let's say we now have a selection of widget colours available. User clicks Add Attribute (Widget Colours: Red, Green, Blue) and selects to move existing inventory to Green (since the original widget was green). The SKUs (W001-Red, W001-Green, W001-Blue) will get created, then W001-Green will get W001's inventory, then W001 will get deleted.
Is Required?
This feature is currently broken, by the way...
But in a perfect world, if the "IS REQUIRED" option is NOT selected, then the original SKU is left intact, and the inventory is NOT moved (or even offered to be moved). This is because there seems to be the concept of "base item", and "attributed" item, each with different inventory.
SKU page
There seems to be a bug with the IsRequired attribute flag, since if you create an item with an attribute, and do not check "Is Required", there is no SKU generated for the base (non-attributed) item... and therefore no inventory is allowed. This would need to be added.
Comments?
I don't have time right now to implement this... I'm going to deploy without this feature for now
but hopefully the above layout can help someone come up with a coded solution.
I'm always open to comments...