/* Postfix tables */ CREATE TABLE transports ( ID @SERIAL_TYPE@, DomainName VARCHAR(255) NOT NULL UNIQUE, Type SMALLINT NOT NULL, /* 1 = virtual, 2 = smtp */ Transport VARCHAR(1024), /* example.com or server.example.com */ PTransport VARCHAR(1024), /* Postfix transport */ Comment VARCHAR(1024), Disabled SMALLINT NOT NULL ) @CREATE_TABLE_SUFFIX@; INSERT INTO transports (DomainName,Type,Transport,PTransport) VALUES ('example.com',1,'example.com','virtual:example.com'); CREATE TABLE mailboxes ( ID @SERIAL_TYPE@, TransportID @SERIAL_REF_TYPE@, Address VARCHAR(255), /* User part of email address */ Mailbox VARCHAR(255) NOT NULL UNIQUE, /* Full email address, this is also the username */ Password VARCHAR(128), /* Password for mailbox */ /* Maildir = transports.Type == 1 -> 'virtual:/' + transports.Transport + '/' + mailboxes.Mailbox */ Quota INT, /* In Mbyte, select where Quota IS NOT NULL */ Name TINYTEXT NOT NULL, BCC VARCHAR(255), /* select where BCC IS NOT NULL */ Comment VARCHAR(1024), Disabled SMALLINT NOT NULL, FOREIGN KEY (TransportID) REFERENCES transports(ID) ) @CREATE_TABLE_SUFFIX@; INSERT INTO mailboxes (TransportID,Address,Mailbox,Password,Quota,Name,BCC,Comment,Disabled) VALUES (1,'test','test@example.com','tst123',5,'joe soap','test2@example.com','test user 1',0); INSERT INTO mailboxes (TransportID,Address,Mailbox,Password,Quota,Name,BCC,Comment,Disabled) VALUES (1,'test2','test2@example.com','tst123',5,'jill soap',NULL,'test user 2',0); CREATE TABLE distribution_groups ( ID @SERIAL_TYPE@, TransportID @SERIAL_REF_TYPE@, Address VARCHAR(255), /* User part of email address */ MailAddress VARCHAR(255) UNIQUE, /* Full email address */ Comment VARCHAR(1024), Disabled SMALLINT NOT NULL, FOREIGN KEY (TransportID) REFERENCES transports(ID) ) @CREATE_TABLE_SUFFIX@; INSERT INTO distribution_groups (TransportID,Address,MailAddress,Disabled) VALUES (1,'dist1','dist1@example.com',0); CREATE TABLE distribution_group_members ( ID @SERIAL_TYPE@, DistributionGroupID @SERIAL_REF_TYPE@, Goto VARCHAR(255), /* Full email address */ Disabled SMALLINT NOT NULL, FOREIGN KEY (DistributionGroupID) REFERENCES distribution_groups(ID) ) @CREATE_TABLE_SUFFIX@; INSERT INTO distribution_group_members (DistributionGroupID,Goto,Disabled) VALUES (1,'test@example.com',0); INSERT INTO distribution_group_members (DistributionGroupID,Goto,Disabled) VALUES (1,'test2@example.com',0); CREATE TABLE aliases ( ID @SERIAL_TYPE@, TransportID @SERIAL_REF_TYPE@, Address VARCHAR(255), /* User part of email address */ MailAddress VARCHAR(255) UNIQUE, /* Full email address */ Goto VARCHAR(255), /* Full email address */ Disabled SMALLINT NOT NULL, FOREIGN KEY (TransportID) REFERENCES transports(ID) ) @CREATE_TABLE_SUFFIX@; INSERT INTO aliases (TransportID,Address,MailAddress,Goto,Disabled) VALUES (1,'alias1','alias1@example.com','test2@example.com',0);