home from SQL
Vijay Rajah
me at rvijay.me
Fri Oct 3 11:21:41 UTC 2014
The way I do is to have a trigger. Whenever a field changes, there is a
trigger associated with that, this trigger populates the appropriate
field for that user being modified. I update the field using trigger for
both inserts & updates.
EX: in MYSQL this is the trigger for new user addition. I just add the
email address and password to the db using 'INSERT INTO'..The home
directory is updated by this trigger. ( I have a similar trigger for
updates)
*************************** 1. row ***************************
Trigger: TRIG_HOME_INS
Event: INSERT
Table: user
Statement: BEGIN
SET
new.home=concat('/path/to/mdfiles/',substring_index(new.email,'@',-1),'/',substring_index(new.email,'@',1));
end
Timing: BEFORE
Created: NULL
sql_mode:
Definer: mailadmin at localhost
character_set_client: utf8
collation_connection: utf8_general_ci
Database Collation: latin1_swedish_ci
you could have a trigger that updates the appropriate field when the
name changes etc...
-Vijay
On 30/09/14 7:59 PM, Ralf Hildebrandt wrote:
> Currently I'm using
> user_query = SELECT 1000 AS uid, 1000 AS gid, '/srv/vmail/%2.256Hu/%Lu' AS home, ...
>
> so I'm hashing based on %u (basically). But in my SQL db I have a
> "unique_identifier" field, which never changes, even when the user is
> changing his/her email address (due to marriage or the like).
>
> What I'd really like to do is to use %u to find the value of the
> unique_identifier field, hash THAT value and use "AS home". But how?
>
> That way I can rename users without shuffling directories around the
> filesystem.
>
More information about the dovecot
mailing list