It looks like when a new attribute is added to a product, Odoo WIPES OUT all variant values with all the associated data (prices, barcodes, SKU, vendors, sales records...) This is just very incontinent and leads to loss of data. We can not possibly be the first company with this issue.
Is there a way to avoid this?
The same thing happens with renaming and removing attributes.
Shopify does this very well. If a new attribute is added, it requires one value for it. Then it adds that value to all existing variants, then user can add more values to make more variants. Let's say you have a tshirt product with just a size attribute. Later if you want to add color, you set the first value to black and all existing variants become black tshirts at whatever size they are, then you can add more variants.
Preserving the variant is key here because it is linked to many BoM, Sale orders, Purchase Orders and even external markets.
From what I have gathered looking at export data, this is not possible. Because Odoo doesn't let you import that data. I am finding this strange and I am hoping there is a workaround that someone can point me to.