[mailserver_database tables] Add UNIQUE constraints and insert default data
This commit is contained in:
parent
74cdf27ad8
commit
96b171baab
1 changed files with 10 additions and 4 deletions
|
@ -1,23 +1,29 @@
|
|||
CREATE TABLE IF NOT EXISTS virtual_domains (
|
||||
id integer primary key generated by default as identity,
|
||||
name varchar(50) NOT NULL
|
||||
name varchar(50) NOT NULL UNIQUE
|
||||
);
|
||||
INSERT INTO virtual_domains (name) VALUES ('tunuifranken.info') ON CONFLICT (name) DO NOTHING;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS virtual_users (
|
||||
id integer primary key generated by default as identity,
|
||||
domain_id integer NOT NULL,
|
||||
email varchar(254) NOT NULL,
|
||||
email varchar(254) NOT NULL UNIQUE,
|
||||
password varchar(150) NOT NULL,
|
||||
quota bigint NOT NULL DEFAULT 0,
|
||||
UNIQUE (email),
|
||||
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id)
|
||||
ON DELETE CASCADE
|
||||
);
|
||||
INSERT INTO virtual_users (domain_id, email, password, quota) VALUES (
|
||||
(SELECT id FROM virtual_domains WHERE name = 'tunuifranken.info'),
|
||||
'abuse@tunuifranken.info',
|
||||
'foo',
|
||||
0
|
||||
) ON CONFLICT (email) DO UPDATE SET password = EXCLUDED.password, quota = EXCLUDED.quota;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS virtual_aliases (
|
||||
id integer primary key generated by default as identity,
|
||||
domain_id integer NOT NULL,
|
||||
source varchar(254) NOT NULL,
|
||||
source varchar(254) NOT NULL UNIQUE,
|
||||
destination varchar(254) NOT NULL,
|
||||
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id)
|
||||
ON DELETE CASCADE
|
||||
|
|
Loading…
Reference in a new issue