Closed stwalkerster closed 1 year ago
Based on the idea posted in #675, the approach taken here is:
welcome_sig
as unused.welcome_template
, abortpref
, emailsig
, creationmode
, and skin
from the user
tableuserpreference
table as (user, domain, preference, value)user
into rows on userpreference
Domain specific settings get the domain tagged against them. Global settings get the domain column null. There's more complexity here surrounding the global
generated column and the constraints to make this behave properly, but I consider that an implementation detail.
I'll leave the language preference out until we sort out internationalisation.
language and default domain option in preferences, split prefs into new table
create table domainprefs....
alter table user add column language varchar, add column defaultdomain int
domainprefs
This table provides preferences for a domain, and is distinct from
userdomain
which only holds whether a user is able to access a domain or not. Notably, rows in this table remain even if a user is removed from a domain.