init.sql 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. CREATE TABLE IF NOT EXISTS `admin` (
  2. `username` varchar(255) NOT NULL,
  3. `password` varchar(255) NOT NULL,
  4. `superadmin` tinyint(1) NOT NULL DEFAULT '0',
  5. `created` datetime NOT NULL DEFAULT '2016-01-01 00:00:00',
  6. `modified` datetime NOT NULL DEFAULT '2016-01-01 00:00:00',
  7. `active` tinyint(1) NOT NULL DEFAULT '1',
  8. PRIMARY KEY (`username`)
  9. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  10. CREATE TABLE IF NOT EXISTS `alias` (
  11. `address` varchar(255) NOT NULL,
  12. `goto` text NOT NULL,
  13. `domain` varchar(255) NOT NULL,
  14. `created` datetime NOT NULL DEFAULT '2016-01-01 00:00:00',
  15. `modified` datetime NOT NULL DEFAULT '2016-01-01 00:00:00',
  16. `active` tinyint(1) NOT NULL DEFAULT '1',
  17. PRIMARY KEY (`address`),
  18. KEY `domain` (`domain`)
  19. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  20. CREATE TABLE IF NOT EXISTS `sender_acl` (
  21. `logged_in_as` varchar(255) NOT NULL,
  22. `send_as` varchar(255) NOT NULL
  23. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  24. CREATE TABLE IF NOT EXISTS `spamalias` (
  25. `address` varchar(255) NOT NULL,
  26. `goto` text NOT NULL,
  27. `validity` int(11) NOT NULL,
  28. PRIMARY KEY (`address`)
  29. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  30. CREATE TABLE IF NOT EXISTS `alias_domain` (
  31. `alias_domain` varchar(255) NOT NULL,
  32. `target_domain` varchar(255) NOT NULL,
  33. `created` datetime NOT NULL DEFAULT '2016-01-01 00:00:00',
  34. `modified` datetime NOT NULL DEFAULT '2016-01-01 00:00:00',
  35. `active` tinyint(1) NOT NULL DEFAULT '1',
  36. PRIMARY KEY (`alias_domain`),
  37. KEY `active` (`active`),
  38. KEY `target_domain` (`target_domain`)
  39. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  40. CREATE TABLE IF NOT EXISTS `domain` (
  41. `domain` varchar(255) NOT NULL,
  42. `description` varchar(255),
  43. `aliases` int(10) NOT NULL DEFAULT '0',
  44. `mailboxes` int(10) NOT NULL DEFAULT '0',
  45. `maxquota` bigint(20) NOT NULL DEFAULT '0',
  46. `quota` bigint(20) NOT NULL DEFAULT '0',
  47. `transport` varchar(255) NOT NULL,
  48. `backupmx` tinyint(1) NOT NULL DEFAULT '0',
  49. `relay_all_recipients` tinyint(1) NOT NULL DEFAULT '0',
  50. `created` datetime NOT NULL DEFAULT '2016-01-01 00:00:00',
  51. `modified` datetime NOT NULL DEFAULT '2016-01-01 00:00:00',
  52. `active` tinyint(1) NOT NULL DEFAULT '1',
  53. PRIMARY KEY (`domain`)
  54. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  55. CREATE TABLE IF NOT EXISTS `domain_admins` (
  56. `username` varchar(255) NOT NULL,
  57. `domain` varchar(255) NOT NULL,
  58. `created` datetime NOT NULL DEFAULT '2016-01-01 00:00:00',
  59. `active` tinyint(1) NOT NULL DEFAULT '1',
  60. KEY `username` (`username`)
  61. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  62. CREATE TABLE IF NOT EXISTS `mailbox` (
  63. `username` varchar(255) NOT NULL,
  64. `password` varchar(255) NOT NULL,
  65. `name` varchar(255),
  66. `maildir` varchar(255) NOT NULL,
  67. `quota` bigint(20) NOT NULL DEFAULT '0',
  68. `local_part` varchar(255) NOT NULL,
  69. `domain` varchar(255) NOT NULL,
  70. `created` datetime NOT NULL DEFAULT '2016-01-01 00:00:00',
  71. `modified` datetime NOT NULL DEFAULT '2016-01-01 00:00:00',
  72. `tls_enforce_in` tinyint(1) NOT NULL DEFAULT '0',
  73. `tls_enforce_out` tinyint(1) NOT NULL DEFAULT '0',
  74. `active` tinyint(1) NOT NULL DEFAULT '1',
  75. PRIMARY KEY (`username`),
  76. KEY `domain` (`domain`)
  77. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  78. CREATE TABLE IF NOT EXISTS `quota2` (
  79. `username` varchar(100) NOT NULL,
  80. `bytes` bigint(20) NOT NULL DEFAULT '0',
  81. `messages` int(11) NOT NULL DEFAULT '0',
  82. PRIMARY KEY (`username`)
  83. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  84. CREATE TABLE IF NOT EXISTS `filterconf` (
  85. `object` varchar(100) NOT NULL DEFAULT '',
  86. `option` varchar(50) NOT NULL DEFAULT '',
  87. `value` varchar(100) NOT NULL DEFAULT '',
  88. `prefid` int(11) NOT NULL AUTO_INCREMENT,
  89. PRIMARY KEY (`prefid`),
  90. KEY `object` (`object`)
  91. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  92. DROP VIEW IF EXISTS grouped_mail_aliases;
  93. DROP VIEW IF EXISTS grouped_sender_acl;
  94. DROP VIEW IF EXISTS grouped_domain_alias_address;
  95. CREATE VIEW grouped_mail_aliases (username, aliases) AS
  96. SELECT goto, IFNULL(GROUP_CONCAT(address SEPARATOR ' '), '') AS address FROM alias
  97. WHERE address!=goto
  98. AND active = '1'
  99. AND address NOT LIKE '@%'
  100. GROUP BY goto;
  101. CREATE VIEW grouped_sender_acl (username, send_as) AS
  102. SELECT logged_in_as, IFNULL(GROUP_CONCAT(send_as SEPARATOR ' '), '') AS send_as FROM sender_acl
  103. WHERE send_as NOT LIKE '@%'
  104. GROUP BY logged_in_as;
  105. CREATE VIEW grouped_domain_alias_address (username, ad_alias) AS
  106. SELECT username, IFNULL(GROUP_CONCAT(local_part, '@', alias_domain SEPARATOR ' '), '') AS ad_alias FROM mailbox
  107. LEFT OUTER JOIN alias_domain on target_domain=domain GROUP BY username;
  108. CREATE TABLE IF NOT EXISTS sogo_acl (
  109. c_folder_id integer NOT NULL,
  110. c_object character varying(255) NOT NULL,
  111. c_uid character varying(255) NOT NULL,
  112. c_role character varying(80) NOT NULL
  113. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  114. CREATE TABLE IF NOT EXISTS sogo_alarms_folder (
  115. c_path varchar(255) NOT NULL,
  116. c_name varchar(255) NOT NULL,
  117. c_uid varchar(255) NOT NULL,
  118. c_recurrence_id int(11) DEFAULT NULL,
  119. c_alarm_number int(11) NOT NULL,
  120. c_alarm_date int(11) NOT NULL
  121. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  122. CREATE TABLE IF NOT EXISTS sogo_cache_folder (
  123. c_uid varchar(255) NOT NULL,
  124. c_path varchar(255) NOT NULL,
  125. c_parent_path varchar(255) DEFAULT NULL,
  126. c_type tinyint(3) unsigned NOT NULL,
  127. c_creationdate int(11) NOT NULL,
  128. c_lastmodified int(11) NOT NULL,
  129. c_version int(11) NOT NULL DEFAULT '0',
  130. c_deleted tinyint(4) NOT NULL DEFAULT '0',
  131. c_content longtext,
  132. PRIMARY KEY (c_uid,c_path)
  133. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  134. CREATE TABLE IF NOT EXISTS sogo_folder_info (
  135. c_folder_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  136. c_path varchar(255) NOT NULL,
  137. c_path1 varchar(255) NOT NULL,
  138. c_path2 varchar(255) DEFAULT NULL,
  139. c_path3 varchar(255) DEFAULT NULL,
  140. c_path4 varchar(255) DEFAULT NULL,
  141. c_foldername varchar(255) NOT NULL,
  142. c_location integer NULL,
  143. c_quick_location varchar(2048) DEFAULT NULL,
  144. c_acl_location varchar(2048) DEFAULT NULL,
  145. c_folder_type varchar(255) NOT NULL,
  146. PRIMARY KEY (c_path),
  147. UNIQUE KEY c_folder_id (c_folder_id)
  148. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  149. CREATE TABLE IF NOT EXISTS sogo_quick_appointment (
  150. c_folder_id integer NOT NULL,
  151. c_name character varying(255) NOT NULL,
  152. c_uid character varying(255) NOT NULL,
  153. c_startdate integer,
  154. c_enddate integer,
  155. c_cycleenddate integer,
  156. c_title character varying(1000) NOT NULL,
  157. c_participants text,
  158. c_isallday integer,
  159. c_iscycle integer,
  160. c_cycleinfo text,
  161. c_classification integer NOT NULL,
  162. c_isopaque integer NOT NULL,
  163. c_status integer NOT NULL,
  164. c_priority integer,
  165. c_location character varying(255),
  166. c_orgmail character varying(255),
  167. c_partmails text,
  168. c_partstates text,
  169. c_category character varying(255),
  170. c_sequence integer,
  171. c_component character varying(10) NOT NULL,
  172. c_nextalarm integer,
  173. c_description text,
  174. CONSTRAINT sogo_quick_appointment_pkey PRIMARY KEY (c_folder_id, c_name)
  175. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  176. CREATE TABLE IF NOT EXISTS sogo_quick_contact (
  177. c_folder_id integer NOT NULL,
  178. c_name character varying(255) NOT NULL,
  179. c_givenname character varying(255),
  180. c_cn character varying(255),
  181. c_sn character varying(255),
  182. c_screenname character varying(255),
  183. c_l character varying(255),
  184. c_mail character varying(255),
  185. c_o character varying(255),
  186. c_ou character varying(255),
  187. c_telephonenumber character varying(255),
  188. c_categories character varying(255),
  189. c_component character varying(10) NOT NULL,
  190. CONSTRAINT sogo_quick_contact_pkey PRIMARY KEY (c_folder_id, c_name)
  191. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  192. CREATE TABLE IF NOT EXISTS sogo_sessions_folder (
  193. c_id varchar(255) NOT NULL,
  194. c_value varchar(255) NOT NULL,
  195. c_creationdate int(11) NOT NULL,
  196. c_lastseen int(11) NOT NULL,
  197. PRIMARY KEY (c_id)
  198. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  199. CREATE TABLE IF NOT EXISTS sogo_store (
  200. c_folder_id integer NOT NULL,
  201. c_name character varying(255) NOT NULL,
  202. c_content mediumtext NOT NULL,
  203. c_creationdate integer NOT NULL,
  204. c_lastmodified integer NOT NULL,
  205. c_version integer NOT NULL,
  206. c_deleted integer,
  207. CONSTRAINT sogo_store_pkey PRIMARY KEY (c_folder_id, c_name)
  208. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  209. CREATE TABLE IF NOT EXISTS sogo_user_profile (
  210. c_uid varchar(255) NOT NULL,
  211. c_defaults text,
  212. c_settings text,
  213. PRIMARY KEY (c_uid)
  214. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  215. REPLACE INTO admin (username, password, superadmin, created, modified, active) VALUES ('admin', '{SSHA256}K8eVJ6YsZbQCfuJvSUbaQRLr0HPLz5rC9IAp0PAFl0tmNDBkMDc0NDAyOTAxN2Rk', 1, NOW(), NOW(), 1);
  216. DELETE FROM domain_admins WHERE domain='all';
  217. INSERT INTO domain_admins (username, domain, created, active) VALUES ('admin', 'ALL', NOW(), 1);