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:
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.
- *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),
Note: All these tables should have no data in them in a fresh install.
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.