From cdbff0d7f67babdea0bcd9001c3c549a4a7f14ba Mon Sep 17 00:00:00 2001 From: johnnyq Date: Wed, 14 Jun 2023 16:59:01 -0400 Subject: [PATCH] Updated DB Structure to include asset_description, login_description, contact_pin and a table for the new email_queuing system --- database_updates.php | 34 +++++++++++++++++++++++++++++++--- database_version.php | 2 +- db.sql | 35 ++++++++++++++++++++++++++++++----- 3 files changed, 62 insertions(+), 9 deletions(-) diff --git a/database_updates.php b/database_updates.php index 9b26d3c7..e86c2aaa 100644 --- a/database_updates.php +++ b/database_updates.php @@ -1060,11 +1060,39 @@ if (LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION) { mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.5.6'"); } - //if (CURRENT_DATABASE_VERSION == '0.5.6') { - //Insert queries here required to update to DB version 0.5.7 + if (CURRENT_DATABASE_VERSION == '0.5.6') { + + mysqli_query($mysqli, "CREATE TABLE `email_queue` ( + `email_id` int(11) NOT NULL AUTO_INCREMENT, + `email_recipient` varchar(255) NOT NULL, + `email_from` varchar(255) NOT NULL, + `email_from_name` varchar(255) NOT NULL, + `email_subject` varchar(255) NOT NULL, + `email_content` longtext NOT NULL, + `email_queued_at` datetime NOT NULL DEFAULT current_timestamp(), + `email_sent_at` datetime NULL DEFAULT NULL, + PRIMARY KEY (`email_id`) + )"); + + mysqli_query($mysqli, "ALTER TABLE `assets` ADD `asset_description` VARCHAR(255) NULL DEFAULT NULL AFTER `asset_name`"); + + mysqli_query($mysqli, "ALTER TABLE `logins` ADD `login_description` VARCHAR(255) NULL DEFAULT NULL AFTER `login_name`"); + + mysqli_query($mysqli, "ALTER TABLE `contacts` ADD `contact_pin` VARCHAR(255) NULL DEFAULT NULL AFTER `contact_photo`"); + + mysqli_query($mysqli, "ALTER TABLE `settings` ADD `config_client_portal_enable` TINYINT(1) NOT NULL DEFAULT '1' AFTER `config_module_enable_accounting`"); + + mysqli_query($mysqli, "ALTER TABLE `tickets` ADD `ticket_vendor_ticket_number` VARCHAR(255) NULL DEFAULT NULL AFTER `ticket_status`"); + + // Then, update the database to the next sequential version + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.5.7'"); + } + + //if (CURRENT_DATABASE_VERSION == '0.5.7') { + //Insert queries here required to update to DB version 0.5.8 // Then, update the database to the next sequential version - //mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.5.7'"); + //mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.5.8'"); //} } else { diff --git a/database_version.php b/database_version.php index ce273efe..8068bb3e 100644 --- a/database_version.php +++ b/database_version.php @@ -5,4 +5,4 @@ * It is used in conjunction with database_updates.php */ -DEFINE("LATEST_DATABASE_VERSION", "0.5.6"); +DEFINE("LATEST_DATABASE_VERSION", "0.5.7"); diff --git a/db.sql b/db.sql index 712a22ee..a86656e9 100644 --- a/db.sql +++ b/db.sql @@ -1,8 +1,8 @@ --- MariaDB dump 10.19 Distrib 10.5.19-MariaDB, for debian-linux-gnu (x86_64) +-- MariaDB dump 10.19 Distrib 10.5.21-MariaDB, for debian-linux-gnu (x86_64) -- -- Host: localhost Database: itflow_dev -- ------------------------------------------------------ --- Server version 10.5.19-MariaDB-1:10.5.19+maria~ubu2004 +-- Server version 10.5.21-MariaDB-1:10.5.21+maria~ubu2004 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; @@ -122,6 +122,7 @@ CREATE TABLE `assets` ( `asset_id` int(11) NOT NULL AUTO_INCREMENT, `asset_type` varchar(200) NOT NULL, `asset_name` varchar(200) NOT NULL, + `asset_description` varchar(255) DEFAULT NULL, `asset_make` varchar(200) NOT NULL, `asset_model` varchar(200) DEFAULT NULL, `asset_serial` varchar(200) DEFAULT NULL, @@ -350,6 +351,7 @@ CREATE TABLE `contacts` ( `contact_extension` varchar(200) DEFAULT NULL, `contact_mobile` varchar(200) DEFAULT NULL, `contact_photo` varchar(200) DEFAULT NULL, + `contact_pin` varchar(255) DEFAULT NULL, `contact_notes` text DEFAULT NULL, `contact_auth_method` varchar(200) DEFAULT NULL, `contact_password_hash` varchar(200) DEFAULT NULL, @@ -453,6 +455,26 @@ CREATE TABLE `domains` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; +-- +-- Table structure for table `email_queue` +-- + +DROP TABLE IF EXISTS `email_queue`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `email_queue` ( + `email_id` int(11) NOT NULL AUTO_INCREMENT, + `email_recipient` varchar(255) NOT NULL, + `email_from` varchar(255) NOT NULL, + `email_from_name` varchar(255) NOT NULL, + `email_subject` varchar(255) NOT NULL, + `email_content` longtext NOT NULL, + `email_queued_at` datetime NOT NULL DEFAULT current_timestamp(), + `email_sent_at` datetime DEFAULT NULL, + PRIMARY KEY (`email_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + -- -- Table structure for table `events` -- @@ -677,6 +699,7 @@ DROP TABLE IF EXISTS `logins`; CREATE TABLE `logins` ( `login_id` int(11) NOT NULL AUTO_INCREMENT, `login_name` varchar(200) NOT NULL, + `login_description` varchar(255) DEFAULT NULL, `login_category` varchar(200) DEFAULT NULL, `login_uri` varchar(200) DEFAULT NULL, `login_username` varchar(200) DEFAULT NULL, @@ -1134,12 +1157,13 @@ CREATE TABLE `settings` ( `config_azure_client_secret` varchar(200) DEFAULT NULL, `config_module_enable_itdoc` tinyint(1) NOT NULL DEFAULT 1, `config_module_enable_accounting` tinyint(1) NOT NULL DEFAULT 1, + `config_client_portal_enable` tinyint(1) NOT NULL DEFAULT 1, + `config_login_key_required` tinyint(1) NOT NULL DEFAULT 0, + `config_login_key_secret` varchar(255) DEFAULT NULL, `config_module_enable_ticketing` tinyint(1) NOT NULL DEFAULT 1, `config_theme` varchar(200) DEFAULT 'blue', `config_telemetry` tinyint(1) DEFAULT 0, `config_timezone` varchar(200) NOT NULL DEFAULT 'America/New_York', - `config_login_key_required` tinyint(1) NOT NULL DEFAULT 0, - `config_login_key_secret` varchar(255) DEFAULT NULL, PRIMARY KEY (`company_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -1403,6 +1427,7 @@ CREATE TABLE `tickets` ( `ticket_details` longtext NOT NULL, `ticket_priority` varchar(200) DEFAULT NULL, `ticket_status` varchar(200) NOT NULL, + `ticket_vendor_ticket_number` varchar(255) DEFAULT NULL, `ticket_feedback` varchar(200) DEFAULT NULL, `ticket_created_at` datetime NOT NULL DEFAULT current_timestamp(), `ticket_updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp(), @@ -1587,4 +1612,4 @@ CREATE TABLE `vendors` ( /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2023-05-07 21:42:46 +-- Dump completed on 2023-06-14 16:55:33