From cbd82110575201f5fac3656d36477a287f6c64d1 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Tue, 28 Jul 2020 09:46:08 -0300 Subject: [PATCH] Bug 22343: Add a new table to store SMTP servers configs Signed-off-by: Tomas Cohen Arazi Signed-off-by: Martin Renvoize --- .../atomicupdate/bug_22343_smtp_servers.perl | 29 +++++++++++++++++ installer/data/mysql/kohastructure.sql | 31 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 installer/data/mysql/atomicupdate/bug_22343_smtp_servers.perl diff --git a/installer/data/mysql/atomicupdate/bug_22343_smtp_servers.perl b/installer/data/mysql/atomicupdate/bug_22343_smtp_servers.perl new file mode 100644 index 0000000000..301bcf7e31 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_22343_smtp_servers.perl @@ -0,0 +1,29 @@ +$DBversion = 'XXX'; +if( CheckVersion( $DBversion ) ) { + + unless (TableExists('smtp_servers')) { + + # Create the table + $dbh->do(q{ + CREATE TABLE `smtp_servers` ( + `id` INT(11) NOT NULL AUTO_INCREMENT, + `name` VARCHAR(80) NOT NULL, + `library_id` VARCHAR(10) NULL DEFAULT NULL, + `host` VARCHAR(80) NOT NULL DEFAULT 'localhost', + `port` INT(11) NOT NULL DEFAULT 25, + `timeout` INT(11) NOT NULL DEFAULT 120, + `ssl_mode` ENUM('disabled', 'ssl', 'starttls') NOT NULL, + `user_name` VARCHAR(80) NULL DEFAULT NULL, + `password` VARCHAR(80) NULL DEFAULT NULL, + `debug` TINYINT(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `library_id_idx` (`library_id`), + KEY `host_idx` (`host`), + CONSTRAINT `library_id_fk` FOREIGN KEY (`library_id`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + }); + } + + # Always end with this (adjust the bug info) + NewVersion( $DBversion, 22343, "Add SMTP configuration options"); +} diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index cc7c133653..44e34424c8 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -4570,6 +4570,37 @@ CREATE TABLE advanced_editor_macros ( CONSTRAINT borrower_macro_fk FOREIGN KEY ( borrowernumber ) REFERENCES borrowers ( borrowernumber ) ON UPDATE CASCADE ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +-- +-- Table structure for table advanced_editor_macros +-- + +DROP TABLE IF EXISTS `smtp_servers`; +CREATE TABLE `smtp_servers` ( + `id` INT(11) NOT NULL AUTO_INCREMENT, + -- Unique ID of the server + `name` VARCHAR(80) NOT NULL, + -- Name of the SMTP server + `library_id` VARCHAR(10) NULL DEFAULT NULL, + -- Internal identifier for the library using it. NULL means global + `host` VARCHAR(80) NOT NULL DEFAULT 'localhost', + -- FQDN for the SMTP server + `port` INT(11) NOT NULL DEFAULT 25, + -- TCP port number + `timeout` INT(11) NOT NULL DEFAULT 120, + -- Maximum time in secs to wait for server + `ssl_mode` ENUM('disabled', 'ssl', 'starttls') NOT NULL, + -- If STARTTLS needs to be issued + `user_name` VARCHAR(80) NULL DEFAULT NULL, + -- The username to use for auth; optional + `password` VARCHAR(80) NULL DEFAULT NULL, + -- The password to use for auth; required if username is provided + `debug` TINYINT(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `library_id_idx` (`library_id`), + KEY `host_idx` (`host`), + CONSTRAINT `library_id_fk` FOREIGN KEY (`library_id`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -- 2.20.1