0; }; foreach (['contract_templates' => 'contract_template', 'contracts' => 'contract'] as $itflow_table => $itflow_prefix) { if (!$itflow_column($itflow_table, "{$itflow_prefix}_monthly_hours")) { mysqli_query($mysqli, "ALTER TABLE `$itflow_table` ADD `{$itflow_prefix}_monthly_hours` decimal(8,2) NOT NULL DEFAULT 0.00"); } if (!$itflow_column($itflow_table, "{$itflow_prefix}_hours_alert")) { mysqli_query($mysqli, "ALTER TABLE `$itflow_table` ADD `{$itflow_prefix}_hours_alert` decimal(8,2) NOT NULL DEFAULT 0.00"); } } if (!$itflow_column('contracts', 'contract_hours_alerted_at')) { mysqli_query($mysqli, "ALTER TABLE `contracts` ADD `contract_hours_alerted_at` datetime DEFAULT NULL"); } mysqli_query($mysqli, "CREATE TABLE IF NOT EXISTS `contract_blocks` ( `contract_block_id` int(11) NOT NULL AUTO_INCREMENT, `contract_block_contract_id` int(11) NOT NULL, `contract_block_hours` decimal(8,2) NOT NULL, `contract_block_price` decimal(15,2) DEFAULT NULL, `contract_block_bought` date NOT NULL, `contract_block_expires` date DEFAULT NULL, `contract_block_month` char(7) DEFAULT NULL, `contract_block_invoice_id` int(11) NOT NULL DEFAULT 0, `contract_block_note` varchar(255) DEFAULT NULL, `contract_block_created_by` int(11) NOT NULL DEFAULT 0, `contract_block_created_at` datetime NOT NULL DEFAULT current_timestamp(), PRIMARY KEY (`contract_block_id`), UNIQUE KEY `contract_block_month` (`contract_block_contract_id`, `contract_block_month`), CONSTRAINT `contract_blocks_ibfk_1` FOREIGN KEY (`contract_block_contract_id`) REFERENCES `contracts` (`contract_id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"); mysqli_query($mysqli, "CREATE TABLE IF NOT EXISTS `contract_block_uses` ( `contract_block_use_id` int(11) NOT NULL AUTO_INCREMENT, `contract_block_use_block_id` int(11) NOT NULL, `contract_block_use_ticket_id` int(11) NOT NULL, `contract_block_use_hours` decimal(8,2) NOT NULL, `contract_block_use_full` tinyint(1) NOT NULL DEFAULT 0, `contract_block_use_created_by` int(11) NOT NULL DEFAULT 0, `contract_block_use_created_at` datetime NOT NULL DEFAULT current_timestamp(), PRIMARY KEY (`contract_block_use_id`), KEY `contract_block_use_block_id` (`contract_block_use_block_id`), KEY `contract_block_use_ticket_id` (`contract_block_use_ticket_id`), CONSTRAINT `contract_block_uses_ibfk_1` FOREIGN KEY (`contract_block_use_block_id`) REFERENCES `contract_blocks` (`contract_block_id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"); unset($itflow_column, $itflow_table, $itflow_prefix);