2

I have a feature which contains fields for the user profile page. This is currently working in PROD.

In the dev site, I've updated the feature to include a new field, updated the version, and download a new TAR file.

In PROD, when I go to Update Module, and try to update the feature, an error message appears saying the feature is already installed.

Am I missing something here? Are features only expected to be installed once? Or do I need to manually remove the feature before updating?

Would it be better practice to create a brand new feature containing the one field?

2 Answers 2

1

when it's structure only, you will have to upload your dev feature, replace it with the production one and revert the production feature.

4
  • I can't upload the feature because Drupal says the module is already installed. And won't reverting the current feature remove the existing fields from the database, so I lose data?
    – user5681
    Mar 19, 2013 at 1:29
  • you will have to overwrite the existing feature with the new one. as long as the state of the feature is still default (not overridden) the fields are defined by code. replacing the feature wont change anything but adding the new field than. if you have unstaged changes in your production database, you will want to clear those conflicts in the updated feature and feature revert it. drupal.org/node/582680 you will probably lose data if you delete a field that was present before. As always: do a backup Mar 19, 2013 at 1:42
  • So are you suggesting - Update the feature on dev to add updates to the existing feature, push it to production and then revert it?
    – pal4life
    May 5, 2015 at 13:42
  • yes, that should cover most of it, some stuff might be done using custom hook_update_n functions though.. May 5, 2015 at 16:45
1

Drush is invaluable for managing features.

  1. Install drush - drush manual page.

  2. Copy files over existing feature.

  3. Run "drush fr myfeature" on the command line.

That is put a feature back (features-revert) to the way it was before you experimented making changes in the user interface.

Drush can also be useful to update the feature (features-update):

drush fu myfeature 

Create a "diff" between what has been changed using the user interface and what is stored in the feature:

drush fd myfeature

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.