I'm trying to figure out what benefits managed packages offer. One of the things I'd like to be able to do is migrate Custom Objects and Custom Fields. For example, in one package release we have a field that is a text area. In the next release we decide that this should be a date field. We want to issue an upgrade that converts the text field to a date.
A more complex migration might be that we decide that certain fields need to be pulled out into a related object of their own.
Documentation on managed packages talks about components (classes, objects etc) being upgradable, but it doesn't describe what happens when Custom Fields are upgraded. Is the data lost? Or does Salesforce do its best to convert between types.