Commit | Line | Data |
---|---|---|
b7753795 SJ |
1 | ALTER TABLE accounts ADD COLUMN firstname VARCHAR(255) DEFAULT NULL AFTER email; |
2 | ALTER TABLE accounts ADD COLUMN lastname VARCHAR(255) DEFAULT NULL AFTER firstname; | |
3 | ||
db8e6a40 SJ |
4 | UPDATE accounts AS a |
5 | INNER JOIN account_profiles AS ap ON (ap.uid = a.uid AND FIND_IN_SET('owner', ap.perms)) | |
6 | INNER JOIN profile_name_enum AS le ON (le.type = 'lastname') | |
7 | INNER JOIN profile_name_enum AS ce ON (ce.type = 'lastname_ordinary') | |
8 | INNER JOIN profile_name AS l ON (ap.pid = l.pid AND le.id = l.typeid) | |
9 | LEFT JOIN profile_name AS c ON (ap.pid = c.pid AND ce.id = c.typeid) | |
10 | SET a.lastname = IF(c.pid IS NULL, IF(l.particle != '', l.name, CONCAT(l.particle, ' ', l.name)), | |
11 | IF(c.particle != '', c.name, CONCAT(c.particle, ' ', c.name))) | |
12 | WHERE a.type IN ('x', 'master', 'phd'); | |
b7753795 | 13 | |
db8e6a40 SJ |
14 | UPDATE accounts AS a |
15 | INNER JOIN account_profiles AS ap ON (ap.uid = a.uid AND FIND_IN_SET('owner', ap.perms)) | |
16 | INNER JOIN profile_name_enum AS fe ON (fe.type = 'firstname') | |
17 | INNER JOIN profile_name_enum AS ce ON (ce.type = 'firstname_ordinary') | |
18 | INNER JOIN profile_name AS f ON (ap.pid = f.pid AND fe.id = f.typeid) | |
19 | LEFT JOIN profile_name AS c ON (ap.pid = c.pid AND ce.id = c.typeid) | |
20 | SET a.firstname = IF(c.pid IS NULL, f.name, c.name) | |
21 | WHERE a.type IN ('x', 'master', 'phd'); | |
b7753795 SJ |
22 | |
23 | -- vim:set syntax=mysql: |