I'm running CiviCRM 5.5.3 on Drupal 7.59. I installed CiviVolunteer a long time ago, but had disabled it, because no one wanted to use it at the time. Now, there is interest in using it. So, I attempted to upgrade it to 4.7.31-2.3.1 and re-enable it and this failed. I Searched for solutions and found information here: CiviVolunteer install fails. I followed the suggestions there and still had no luck getting it to install.

One error I got was: "Field: name must be unique. An conflicting entity already exists - id: 93"

I removed the duplicate entry for skill_level in civicrm_option_group in the DB, followed instructions found at the link above once more and tried to install again and got new errors.

After hours and hours of frustration, I finally decided to install CiviVolunteer into a bare bones drupal/CiviCRM setup on my computer and to go through each DB table to see what tables were created or had data added to them for CiviVolunteer. From doing this, I was finally able to clear out all the old CiviVolunteer data in the production DB and get CiviVoluteer to install.

I decided to provide a list of what tables are affected/added by this extension, so that other sufferers can clean up old DB data/tables and get CiviVolunteer to install or update or can check if their install was complete.

Tables added:

  • *civicrm_value_civivolunteer_1* (or some number besides 1),
  • *civicrm_value_volunteer_com_3* (or some number besides 3),
  • *civicrm_value_volunteer_inf_2* (or some number besides 2),
  • *civicrm_volunteer_need,*
  • *civicrm_volunteer_project,*
  • *civicrm_volunteer_project_contact*

Note: All these tables should have no data in them in a fresh install.

Tables altered:

adds 6 entries (names = Volunteer_Need_Id, Volunteer_Role_Id, Time_Scheduled_Minutes, Time_Completed_Minutes, camera_skill_level, volunteer_project_id)

adds 3 entries (names = CiviVolunteer, Volunteer_Information, volunteer_commendation)

adds 1 entry (msg_title = Volunteer - Registration (on-line))

adds 1 entry (label = New Volunteer)

adds 4 entries (name = msg_tpl_workflow_volunteer, volunteer_project_relationship, skill_level, volunteer_role) Note: "skill_level" is the entry that caused the "field must be unique" error. It is apparently not removed if you uninstall CiviVolunteer.

adds 1 entry for the CiviVolunteer extension.

adds 8 entries (field_name has 2 entries each for = phone, email, last_name, first_name) Note: uf_group_id of the field_name should match the two id's of the group entries in civicrm_uf_group (below)

adds 2 entries (group_type = Volunteer,Contact; tittle = Notify Me of Volunteer Opportunities | group_type = Individual,Contact; title = Volunteer Sign Up)

adds 2 entries (module = CiviVolunteer, Profile) Note: "Profile" should have an id that follows that of "CiviVolunteer". So if CiviVolunteer has an id of 7, then "Profile" will have an id of 8. There are multiple "Profile" entries in this table that don't belong to CiviVolunteer.

Hopefully, I listed everything and that this helps somebody.


  • I'm working through something similar under WP; this list was helpful. I was able to remove almost everything in this list. However, I could not remove the two entries in civicrm_uf_group and in civicrm_uf_join I did not find a following profile. The two entries in civicrm_uf_group returned a warning and would not remove. For now, I've left both civicrm_uf_group and in civicrm_uf_join alone.
    – ncraig
    Commented Mar 31, 2019 at 16:07
  • Using the list provided in this post, I was able to remove a sufficient number of the elements that I could reinstall CiviVolunteer. It appears to be running now. My problem at the outset was installing it prior to Angular profiles. With the non-functioning install cleared out I was able to reinstall with the proper order starting first with angular profiles and then CiviVolunteer.
    – ncraig
    Commented Mar 31, 2019 at 21:15


Your Answer

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

Browse other questions tagged or ask your own question.