~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to doc/man/faq.rst

  • Committer: David Coles
  • Date: 2010-02-11 09:23:48 UTC
  • Revision ID: coles.david@gmail.com-20100211092348-jwgod62k198f7244
Docs: A second option assigns metadata to another user rather than deleting all rows that have any reference to the user

Show diffs side-by-side

added added

removed removed

Lines of Context:
58
58
6. Either change the users login (``UPDATE login SET login='NEWLOGIN' WHERE 
59
59
   login='LOGIN'``) or remove all references to this login in the database
60
60
 
61
 
The following lines of SQL should remove all traces of a user from the 
62
 
database::
 
61
The following lines of SQL should remove all traces of a user ``LOGIN`` from 
 
62
the database::
63
63
 
64
64
    BEGIN TRANSACTION;
65
65
    DELETE FROM exercise_save USING login WHERE
86
86
    DELETE FROM login WHERE login='LOGIN';
87
87
    COMMIT;
88
88
 
 
89
If you do not want to lose group data, a better option may be to reassign the 
 
90
user ``LOGIN``'s groups to ``NEWLOGIN`` (one possible option would be to 
 
91
create and use a 'nobody' account)::
 
92
 
 
93
    BEGIN TRANSACTION;
 
94
    DELETE FROM exercise_save USING login WHERE
 
95
        exercise_save.loginid = login.loginid AND login.login = 'LOGIN';
 
96
    DELETE FROM exercise_attempt USING login WHERE
 
97
        exercise_attempt.loginid = login.loginid AND login.login = 'LOGIN';
 
98
    UPDATE project_mark SET marker = l2.loginid FROM login AS l1, login AS l2
 
99
        WHERE marker = l1.loginid AND l1.login = 'LOGIN' AND l2.login = 
 
100
        'NEWLOGIN'
 
101
    DELETE FROM project_submission USING login WHERE
 
102
        submitter = login.loginid AND login.login = 'LOGIN';
 
103
    UPDATE project_extension SET approver = l2.loginid FROM
 
104
        login AS l1, login AS l2 WHERE approver = l1.loginid AND
 
105
        l1.login = 'LOGIN' AND l2.login='NEWLOGIN';
 
106
    DELETE FROM assessed USING login WHERE
 
107
        assessed.loginid = login.loginid AND login.login = 'LOGIN';
 
108
    DELETE FROM enrolment USING login WHERE
 
109
        enrolment.loginid = login.loginid AND login.login = 'LOGIN';
 
110
    DELETE FROM group_member USING login WHERE
 
111
        group_member.loginid = login.loginid AND login.login = 'LOGIN';
 
112
    DELETE FROM group_invitation USING login WHERE
 
113
        group_invitation.loginid = login.loginid AND login.login = 'LOGIN';
 
114
    UPDATE group_invitation SET inviter = l2.loginid FROM
 
115
        login AS l1, login AS l2 WHERE inviter = l1.loginid AND
 
116
        l1.login = 'LOGIN' AND l2.login='NEWLOGIN';
 
117
    UPDATE project_group SET createdby = l2.loginid FROM
 
118
        login AS l1, login AS l2 WHERE createdby = l1.loginid AND
 
119
        l1.login = 'LOGIN' AND l2.login = 'NEWLOGIN';
 
120
    DELETE FROM login WHERE login='LOGIN';
 
121
    COMMIT;
 
122
 
 
123
 
89
124
.. _ref-faq-why:
90
125
 
91
126
Why does...