Re: merging two users?
Adam Tauno Williams <[email protected]> Thu, 26 Mar 2009 19:57:52 -0400
| Newsgroups | gmane.comp.cms.opengroupware.user |
|---|---|
| Message-ID | <1238111872.5011.4.camel@linux-m3mt> |
On Thu, 2009-03-26 at 15:54 -0600, Dax Kelson wrote:
> I have two accounts in OGo
> What SQL can I use to merge the robert user into the bob user?
The following should move everything, but you'll need to deal with any
resulting duplication in the company_assignment,
date_company_assignment, object_acl, team, and
project_company_assignment tables (if both you and the other user are
assigned to the same object you'll then be assigned twice).
Someone should file a bug to create a tool to do this (merge one user's
assignments and rights into another user).
UPDATE company
SET owner_id = ${TARGETID}, object_version = object_version + 1
WHERE owner_id = ${SOURCEID};
UPDATE company
SET contact_id = ${TARGETID}, object_version = object_version + 1
WHERE contact_id = ${SOURCEID};
UPDATE company_assignment
SET company_id = ${TARGETID}
WHERE company_id = ${SOURCEID};
UPDATE company_assignment
SET sub_company_id = ${TARGETID}
WHERE sub_company_id = ${SOURCEID};
--- probably should be constrain to future dates
UPDATE date_company_assignment
SET company_id = ${TARGETID}
WHERE company_id = ${SOURCEID};
--- probably should be constrained to future dates
UPDATE date_x
SET owner_id = ${TARGETID}, object_version = object_version + 1
WHERE owner_id = ${SOURCEID};
UPDATE doc
SET first_owner_id = ${TARGETID}, object_version = object_version + 1
WHERE first_owner_id = ${SOURCEID};
UPDATE doc
SET current_owner_id = ${TARGETID}, object_version = object_version + 1
WHERE current_owner_id = ${SOURCEID};
UPDATE document_version
SET last_owner_id = ${TARGETID}, object_version = object_version + 1
WHERE last_owner_id = ${SOURCEID};
UPDATE job
SET creator_id = ${TARGETID}, object_version = object_version + 1
WHERE creator_id = ${SOURCEID};
UPDATE job
SET executant_id = ${TARGETID}, object_version = object_version + 1
WHERE executant_id = ${SOURCEID};
UPDATE obj_link
SET source_id = ${TARGETID}
WHERE source_id = ${SOURCEID};
UPDATE obj_link
SET target_id = ${TARGETID}
WHERE target_id = ${SOURCEID};
UPDATE object_acl
SET auth_id = ${TARGETID}
WHERE auth_id = ${SOURCEID};
UPDATE project
SET owner_id = ${TARGETID}
WHERE owner_id = ${SOURCEID};
UPDATE project_company_assignment
SET company_id = ${TARGETID}
WHERE company_id = ${SOURCEID};
UPDATE team
SET owner_id = ${TARGETID}, object_version = object_version + 1
WHERE owner_id = ${SOURCEID};
--
OpenGroupware developer: [email protected]
<http://whitemiceconsulting.blogspot.com/>
OpenGroupare & Cyrus IMAPd documenation @
<http://docs.opengroupware.org/Members/whitemice/wmogag/file_view>
--
OpenGroupware.org Users
[email protected]
http://mail.opengroupware.org/mailman/listinfo/users