wiki:UserGuidelines/Admin/RecordMerging

Version 5 (modified by Dominic König, 12 years ago) ( diff )

--

Record Merging

Table of Contents

  1. Web UI
    1. Workflow
  2. CLI

There are times when you have multiple records in the database which are duplicates.

For some simple 'leaf' resources it may be possible to simply delete one of them (e.g. Contacts).

However where other records point to this one, it is better to merge the 2 records together.

Web UI

Workflow

  1. Login as Administrator
  2. Bookmark the original record:
    • Perform a search for the original record
    • Open the record
    • Click "Mark as Duplicate"
  3. Bookmark the duplicate record:
    • Perform a search for the duplicate record
    • Open the record
    • Click "Mark as Duplicate"
  4. Open the bookmarks list:
    • Click on "Deduplicate" right next to "(Un)Mark as duplicate"
    • See a list of all bookmarked records for this resource
  5. Select the records you want to merge
    • must select exactly 2 records
    • then click "Merge"
    • See the merge form with both original and duplicate side-by-side
  6. Compare the records, correct what needs to be corrected
    • you can edit any field
    • you can use the swap-buttons to swap the field between original and duplicate
  7. Decide which record to keep and click either "Keep Original" or "Keep Duplicate"

CLI

Identify the 2 record IDs, decide which one you wish to keep & which one should be deprecated & then merge them as follows:

auth.override=True
resource = s3db.resource("pr_person")
# (Good, Bad)
resource.merge(117, 90)
# If succesful:
db.commit()

It is also possible to specify that some fields should be retained from the one which is being deprecated.

Note: See TracWiki for help on using the wiki.