<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Migration 3 - create board, form related tables
*/
final class Version20230911115849 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
$this->addSql("CREATE TABLE IF NOT EXISTS `invite_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_id` int(11) DEFAULT NULL,
`reference_id` varchar(255) DEFAULT NULL,
`role_id` int(11) DEFAULT NULL,
`email_id` varchar(255) DEFAULT NULL,
`link_type` enum('copy_link','mail_link') DEFAULT NULL,
`is_active` tinyint(1) NOT NULL DEFAULT 1,
`generated_at` timestamp NULL DEFAULT NULL,
`generated_by` int(11) DEFAULT NULL,
`deactivated_at` timestamp NULL DEFAULT NULL,
`deactivated_by` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `company_id` (`company_id`),
KEY `generated_by` (`generated_by`),
KEY `deactivated_by` (`deactivated_by`),
KEY `role_id` (`role_id`),
CONSTRAINT `invite_user_ibfk_1` FOREIGN KEY (`company_id`) REFERENCES `company` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `invite_user_ibfk_2` FOREIGN KEY (`role_id`) REFERENCES `tc_user_type` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=120 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=COMPACT;");
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_theme` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`label` varchar(255) NOT NULL,
`custom_css_json` mediumtext DEFAULT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime DEFAULT NULL,
`created_by` int(11) NOT NULL,
`updated_by` int(11) DEFAULT NULL,
`is_deleted` tinyint(1) NOT NULL DEFAULT 0,
`deleted_at` datetime DEFAULT NULL,
`deleted_by` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `created_by` (`created_by`),
KEY `updated_by` (`updated_by`),
KEY `deleted_by` (`deleted_by`),
CONSTRAINT `tc_theme_ibfk_1` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_theme_ibfk_2` FOREIGN KEY (`updated_by`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_theme_ibfk_3` FOREIGN KEY (`deleted_by`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=109 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
$this->addSql("CREATE TABLE IF NOT EXISTS `tc_forms` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_id` int(11) NOT NULL,
`form_label` varchar(255) NOT NULL,
`form_type` enum('card_layout','user_form') NOT NULL DEFAULT 'card_layout',
`card_title_label` varchar(255) DEFAULT NULL,
`is_default` tinyint(1) NOT NULL DEFAULT 0,
`has_multiple_section` tinyint(1) NOT NULL DEFAULT 0,
`has_card_timer` tinyint(1) NOT NULL DEFAULT 0,
`form_view` enum('tab_view','single_form_view') NOT NULL DEFAULT 'single_form_view',
`is_deleted` tinyint(1) NOT NULL DEFAULT 0,
`created_by` int(11) NOT NULL,
`created_at` datetime NOT NULL,
`updated_by` int(11) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_by` int(11) DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `created_by` (`created_by`),
KEY `updated_by` (`updated_by`),
KEY `deleted_by` (`deleted_by`),
KEY `company_id` (`company_id`),
CONSTRAINT `tc_forms_ibfk_1` FOREIGN KEY (`company_id`) REFERENCES `company` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_forms_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_forms_ibfk_3` FOREIGN KEY (`updated_by`) REFERENCES `user` (`id`) ON DELETE SET NULL ON UPDATE NO ACTION,
CONSTRAINT `tc_forms_ibfk_4` FOREIGN KEY (`deleted_by`) REFERENCES `user` (`id`) ON DELETE SET NULL ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=493 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;");
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_form_section` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`form_id` int(11) NOT NULL,
`section_label` varchar(255) NOT NULL,
`is_deleted` tinyint(1) NOT NULL DEFAULT 0,
`created_by` int(11) NOT NULL,
`created_at` datetime NOT NULL,
`updated_by` int(11) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_by` int(11) DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `form_id` (`form_id`),
KEY `created_by` (`created_by`),
KEY `updated_by` (`updated_by`),
KEY `deleted_by` (`deleted_by`),
CONSTRAINT `tc_form_section_ibfk_1` FOREIGN KEY (`form_id`) REFERENCES `tc_forms` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_form_section_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_form_section_ibfk_3` FOREIGN KEY (`updated_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_form_section_ibfk_4` FOREIGN KEY (`deleted_by`) REFERENCES `user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=448 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;');
$this->addSql("CREATE TABLE `tc_form_field` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`form_id` int(11) NOT NULL,
`section_id` int(11) NOT NULL,
`parent_field_id` int(11) DEFAULT NULL,
`field_label` varchar(255) NOT NULL,
`field_type` enum('input','number','float','text','mediumtext','longtext','select','multi_select','checkbox','radio','date','time','datetime','normaltext','label','varchar','colour','file','email','image','user_field','table','image_icon','slider') NOT NULL DEFAULT 'normaltext',
`sort_order` int(11) DEFAULT NULL,
`defualt_value` varchar(255) DEFAULT NULL,
`options` longtext DEFAULT NULL,
`validation_rules` mediumtext DEFAULT NULL,
`field_options` longtext DEFAULT NULL,
`is_hidden` tinyint(1) NOT NULL DEFAULT 0,
`has_total` tinyint(1) NOT NULL DEFAULT 0,
`is_disabled` tinyint(1) NOT NULL DEFAULT 0,
`is_multiselect` tinyint(1) NOT NULL DEFAULT 0,
`is_calendar_start_date` tinyint(1) NOT NULL DEFAULT 0,
`all_user_option` enum('all_user','all_user_from_group','custom') DEFAULT NULL,
`all_user_selected_groups` text DEFAULT NULL,
`is_deleted` tinyint(1) NOT NULL DEFAULT 0,
`created_by` int(11) NOT NULL,
`created_at` datetime NOT NULL,
`updated_by` int(11) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_by` int(11) DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `form_id` (`form_id`),
KEY `section_id` (`section_id`),
KEY `created_by` (`created_by`),
KEY `updated_by` (`updated_by`),
KEY `deleted_by` (`deleted_by`),
KEY `form_id_2` (`form_id`),
KEY `section_id_2` (`section_id`),
KEY `deleted_by_2` (`deleted_by`),
KEY `updated_by_2` (`updated_by`),
KEY `created_by_2` (`created_by`),
CONSTRAINT `tc_form_field_ibfk_1` FOREIGN KEY (`form_id`) REFERENCES `tc_forms` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_form_field_ibfk_2` FOREIGN KEY (`section_id`) REFERENCES `tc_form_section` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_form_field_ibfk_3` FOREIGN KEY (`updated_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_form_field_ibfk_4` FOREIGN KEY (`deleted_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_form_field_ibfk_7` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3197 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;");
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_form_field_options` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`form_id` int(11) NOT NULL,
`field_id` int(11) NOT NULL,
`field_option` varchar(255) NOT NULL,
`color_code` varchar(255) DEFAULT NULL,
`image_icon` varchar(255) DEFAULT NULL,
`is_default` tinyint(1) NOT NULL DEFAULT 0,
`is_deleted` tinyint(1) NOT NULL DEFAULT 0,
`deleted_by` int(11) DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
`updated_by` int(11) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`created_by` int(11) DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `form_id` (`form_id`),
KEY `field_id` (`field_id`),
KEY `updated_by` (`updated_by`),
KEY `created_by` (`created_by`),
KEY `deleted_by` (`deleted_by`),
CONSTRAINT `tc_form_field_options_ibfk_1` FOREIGN KEY (`form_id`) REFERENCES `tc_forms` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_form_field_options_ibfk_2` FOREIGN KEY (`deleted_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_form_field_options_ibfk_3` FOREIGN KEY (`updated_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_form_field_options_ibfk_4` FOREIGN KEY (`field_id`) REFERENCES `tc_form_field` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_form_field_options_ibfk_5` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3348 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_form_field_users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`form_id` int(11) NOT NULL,
`field_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `form_id` (`form_id`),
KEY `field_id` (`field_id`),
KEY `user_id` (`user_id`),
CONSTRAINT `tc_form_field_users_ibfk_1` FOREIGN KEY (`form_id`) REFERENCES `tc_forms` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_form_field_users_ibfk_2` FOREIGN KEY (`field_id`) REFERENCES `tc_form_field` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_form_field_users_ibfk_3` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=168 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
$this->addSql("CREATE TABLE IF NOT EXISTS `tc_board` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_id` int(11) NOT NULL,
`board_title` varchar(255) NOT NULL,
`board_type` enum('kanban_board','calendar') NOT NULL DEFAULT 'kanban_board',
`board_identifier` varchar(255) NOT NULL,
`form_id` int(11) DEFAULT NULL,
`theme_id` int(11) DEFAULT NULL,
`default_card_layout_id` int(11) DEFAULT NULL,
`is_active` tinyint(1) NOT NULL DEFAULT 1,
`is_default` tinyint(1) DEFAULT 0,
`is_deleted` tinyint(1) NOT NULL DEFAULT 0,
`created_by` int(11) DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
`updated_by` int(11) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_by` int(11) DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `company_id` (`company_id`),
KEY `form_id` (`form_id`),
KEY `updated_by` (`updated_by`),
KEY `deleted_by` (`deleted_by`),
KEY `created_by` (`created_by`),
KEY `theme_id` (`theme_id`),
CONSTRAINT `tc_board_ibfk_1` FOREIGN KEY (`company_id`) REFERENCES `company` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_board_ibfk_2` FOREIGN KEY (`form_id`) REFERENCES `tc_forms` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_board_ibfk_3` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_board_ibfk_4` FOREIGN KEY (`updated_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_board_ibfk_5` FOREIGN KEY (`deleted_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_board_ibfk_6` FOREIGN KEY (`theme_id`) REFERENCES `tc_theme` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=362 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='e.g. card, cash, paypal, wire transfer';");
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_board_columns` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`board_id` int(11) NOT NULL,
`label` varchar(255) NOT NULL,
`is_deleted` tinyint(1) NOT NULL DEFAULT 0,
`sort_order` int(11) DEFAULT NULL,
`is_default` tinyint(1) NOT NULL DEFAULT 0,
`created_by` int(11) NOT NULL,
`created_at` datetime NOT NULL,
`updated_by` int(11) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_by` int(11) DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `board_id` (`board_id`),
KEY `created_by` (`created_by`),
KEY `updated_by` (`updated_by`),
KEY `deleted_by` (`deleted_by`),
CONSTRAINT `tc_board_columns_ibfk_1` FOREIGN KEY (`board_id`) REFERENCES `tc_board` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_board_columns_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_board_columns_ibfk_3` FOREIGN KEY (`updated_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_board_columns_ibfk_4` FOREIGN KEY (`deleted_by`) REFERENCES `user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2224 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;');
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_board_forms` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_id` int(11) NOT NULL,
`board_id` int(11) NOT NULL,
`form_id` int(11) NOT NULL,
`is_default` tinyint(4) NOT NULL DEFAULT 0,
`assigned_at` datetime NOT NULL,
`assigned_by` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `company_id` (`company_id`),
KEY `board_id` (`board_id`),
KEY `form_id` (`form_id`),
KEY `assigned_by` (`assigned_by`),
CONSTRAINT `tc_board_forms_ibfk_1` FOREIGN KEY (`company_id`) REFERENCES `company` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_board_forms_ibfk_2` FOREIGN KEY (`board_id`) REFERENCES `tc_board` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_board_forms_ibfk_3` FOREIGN KEY (`form_id`) REFERENCES `tc_forms` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_board_forms_ibfk_4` FOREIGN KEY (`assigned_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=518 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_board_rows` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`board_id` int(11) NOT NULL,
`label` varchar(255) DEFAULT NULL,
`is_deleted` tinyint(1) NOT NULL DEFAULT 0,
`sort_order` int(11) DEFAULT NULL,
`is_default` tinyint(1) NOT NULL DEFAULT 0,
`created_by` int(11) NOT NULL,
`created_at` datetime NOT NULL,
`updated_by` int(11) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_by` int(11) DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `board_id` (`board_id`),
KEY `created_by` (`created_by`),
KEY `updated_by` (`updated_by`),
KEY `deleted_by` (`deleted_by`),
CONSTRAINT `tc_board_rows_ibfk_1` FOREIGN KEY (`board_id`) REFERENCES `tc_board` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_board_rows_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_board_rows_ibfk_3` FOREIGN KEY (`updated_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_board_rows_ibfk_4` FOREIGN KEY (`deleted_by`) REFERENCES `user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1998 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;');
$this->addSql("CREATE TABLE IF NOT EXISTS `tc_board_settings` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`lock_board` enum('0','1') NOT NULL DEFAULT '0',
`card_layout_id` int(11) NOT NULL DEFAULT 1,
`card_design_id` int(11) NOT NULL DEFAULT 1,
`draggable` enum('0','1') NOT NULL DEFAULT '0',
`column_width` varchar(255) DEFAULT NULL,
`column_gap` varchar(255) DEFAULT NULL,
`row_width` varchar(255) DEFAULT NULL,
`row_gap` varchar(255) DEFAULT NULL,
`has_multiple_rows` tinyint(1) NOT NULL DEFAULT 0,
`card_title` varchar(255) DEFAULT NULL,
`card_spacing` varchar(255) DEFAULT NULL,
`card_outer_spacing` varchar(255) DEFAULT NULL,
`card_gap` varchar(255) DEFAULT NULL,
`card_title_field_label` varchar(255) DEFAULT NULL,
`column_field_label` varchar(255) DEFAULT NULL,
`row_field_label` varchar(255) DEFAULT NULL,
`board_bg_color` varchar(255) DEFAULT NULL,
`card_bg_default_color` varchar(255) DEFAULT NULL,
`row_header_bg_color` varchar(255) DEFAULT NULL,
`column_header_bg_color` varchar(255) DEFAULT NULL,
`board_id` int(11) DEFAULT NULL,
`show_card_header_only` tinyint(1) NOT NULL DEFAULT 0,
`system_theme` varchar(255) DEFAULT NULL,
`board_type` varchar(255) DEFAULT NULL,
`card_fields_json` text DEFAULT NULL,
`created_by` int(11) NOT NULL,
`created_at` datetime NOT NULL,
`updated_by` int(11) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`is_deleted` tinyint(1) NOT NULL DEFAULT 0,
`deleted_by` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `board_id` (`board_id`),
KEY `created_by` (`created_by`),
KEY `updated_by` (`updated_by`),
KEY `deleted_by` (`deleted_by`),
CONSTRAINT `tc_board_settings_ibfk_2` FOREIGN KEY (`deleted_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_board_settings_ibfk_3` FOREIGN KEY (`board_id`) REFERENCES `tc_board` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_board_settings_ibfk_4` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_board_settings_ibfk_5` FOREIGN KEY (`updated_by`) REFERENCES `user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=303 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;");
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_board_cards` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_id` int(11) DEFAULT NULL,
`card_name` varchar(255) DEFAULT NULL,
`ref_id` int(11) DEFAULT NULL,
`board_id` int(11) NOT NULL,
`form_id` int(11) DEFAULT NULL,
`column_id` int(11) NOT NULL,
`row_id` int(11) NOT NULL,
`is_full_capacity` tinyint(1) NOT NULL DEFAULT 0,
`active_section_id` int(11) DEFAULT NULL,
`is_deleted` tinyint(1) NOT NULL DEFAULT 0,
`is_draft` tinyint(1) NOT NULL DEFAULT 0,
`created_by` int(11) NOT NULL,
`created_at` datetime NOT NULL,
`updated_by` int(11) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_by` int(11) DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `company_id` (`company_id`),
KEY `board_id` (`board_id`),
KEY `column_id` (`column_id`),
KEY `row_id` (`row_id`),
KEY `created_by` (`created_by`),
KEY `updated_by` (`updated_by`),
KEY `deleted_by` (`deleted_by`),
KEY `form_id` (`form_id`),
CONSTRAINT `tc_board_cards_ibfk_1` FOREIGN KEY (`company_id`) REFERENCES `company` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_board_cards_ibfk_2` FOREIGN KEY (`board_id`) REFERENCES `tc_board` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_board_cards_ibfk_3` FOREIGN KEY (`column_id`) REFERENCES `tc_board_columns` (`id`),
CONSTRAINT `tc_board_cards_ibfk_4` FOREIGN KEY (`row_id`) REFERENCES `tc_board_rows` (`id`),
CONSTRAINT `tc_board_cards_ibfk_5` FOREIGN KEY (`deleted_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_board_cards_ibfk_6` FOREIGN KEY (`updated_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_board_cards_ibfk_7` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`),
CONSTRAINT `tc_board_cards_ibfk_8` FOREIGN KEY (`form_id`) REFERENCES `tc_forms` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=7415 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;');
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_custom_form_file_upload_values` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`board_id` int(11) NOT NULL,
`form_id` int(11) NOT NULL,
`card_id` int(11) NOT NULL,
`field_id` int(11) NOT NULL,
`file_upload_id` int(11) NOT NULL,
`assigned_by` int(11) NOT NULL,
`assigned_at` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `form_id` (`form_id`),
KEY `card_id` (`card_id`),
KEY `field_id` (`field_id`),
KEY `file_upload_id` (`file_upload_id`),
KEY `assigned_by` (`assigned_by`),
KEY `board_id` (`board_id`),
CONSTRAINT `tc_custom_form_file_upload_values_ibfk_1` FOREIGN KEY (`form_id`) REFERENCES `tc_forms` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_custom_form_file_upload_values_ibfk_2` FOREIGN KEY (`card_id`) REFERENCES `tc_board_cards` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_custom_form_file_upload_values_ibfk_3` FOREIGN KEY (`field_id`) REFERENCES `tc_form_field` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_custom_form_file_upload_values_ibfk_4` FOREIGN KEY (`file_upload_id`) REFERENCES `tc_upload_files` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_custom_form_file_upload_values_ibfk_5` FOREIGN KEY (`assigned_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `tc_custom_form_file_upload_values_ibfk_6` FOREIGN KEY (`board_id`) REFERENCES `tc_board` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=315 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
$this->addSql('CREATE TABLE `tc_custom_form_multi_option_values` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`board_id` int(11) NOT NULL,
`form_id` int(11) NOT NULL,
`card_id` int(11) NOT NULL,
`field_id` int(11) NOT NULL,
`form_field_option_id` int(11) NOT NULL,
`table_field_row_id` varchar(255) DEFAULT NULL,
`assigned_by` int(11) NOT NULL,
`assigned_at` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `form_id` (`form_id`),
KEY `field_id` (`field_id`),
KEY `form_field_option_id` (`form_field_option_id`),
KEY `assigned_by` (`assigned_by`),
KEY `card_id` (`card_id`),
KEY `board_id` (`board_id`),
CONSTRAINT `tc_custom_form_multi_option_values_ibfk_1` FOREIGN KEY (`form_id`) REFERENCES `tc_forms` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_custom_form_multi_option_values_ibfk_2` FOREIGN KEY (`field_id`) REFERENCES `tc_form_field` (`id`),
CONSTRAINT `tc_custom_form_multi_option_values_ibfk_3` FOREIGN KEY (`form_field_option_id`) REFERENCES `tc_form_field_options` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_custom_form_multi_option_values_ibfk_4` FOREIGN KEY (`assigned_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `tc_custom_form_multi_option_values_ibfk_5` FOREIGN KEY (`card_id`) REFERENCES `tc_board_cards` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_custom_form_multi_option_values_ibfk_6` FOREIGN KEY (`board_id`) REFERENCES `tc_board` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=2263 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_custom_form_user_field_values` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`board_id` int(11) NOT NULL,
`form_id` int(11) NOT NULL,
`card_id` int(11) NOT NULL,
`field_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`assigned_by` int(11) NOT NULL,
`assigned_at` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `form_id` (`form_id`),
KEY `card_id` (`card_id`),
KEY `field_id` (`field_id`),
KEY `user_id` (`user_id`),
KEY `assigned_by` (`assigned_by`),
KEY `board_id` (`board_id`),
CONSTRAINT `tc_custom_form_user_field_values_ibfk_1` FOREIGN KEY (`form_id`) REFERENCES `tc_forms` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_custom_form_user_field_values_ibfk_2` FOREIGN KEY (`card_id`) REFERENCES `tc_board_cards` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_custom_form_user_field_values_ibfk_3` FOREIGN KEY (`field_id`) REFERENCES `tc_form_field` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_custom_form_user_field_values_ibfk_4` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_custom_form_user_field_values_ibfk_5` FOREIGN KEY (`assigned_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `tc_custom_form_user_field_values_ibfk_6` FOREIGN KEY (`board_id`) REFERENCES `tc_board` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=104 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_form_rule_builder` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`form_id` int(11) NOT NULL,
`target_field_name` varchar(255) NOT NULL,
`target_field_id` int(11) NOT NULL,
`rules` text NOT NULL,
`action_fields` text NOT NULL,
`created_by` int(11) NOT NULL,
`created_at` datetime NOT NULL,
`updated_by` int(11) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`is_deleted` tinyint(1) NOT NULL DEFAULT 0,
`deleted_by` int(11) DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `form_id` (`form_id`),
KEY `created_by` (`created_by`),
KEY `updated_by` (`updated_by`),
KEY `deleted_by` (`deleted_by`),
KEY `target_field_id` (`target_field_id`),
CONSTRAINT `tc_form_rule_builder_ibfk_1` FOREIGN KEY (`form_id`) REFERENCES `tc_forms` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_form_rule_builder_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_form_rule_builder_ibfk_3` FOREIGN KEY (`updated_by`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_form_rule_builder_ibfk_4` FOREIGN KEY (`deleted_by`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_form_rule_builder_ibfk_5` FOREIGN KEY (`target_field_id`) REFERENCES `tc_form_field` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=COMPACT;');
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_form_selected_fields` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`form_id` int(11) NOT NULL,
`board_id` int(11) DEFAULT NULL,
`field_id` int(11) NOT NULL,
`sort_order` int(11) NOT NULL,
`assigned_at` datetime NOT NULL,
`assigned_by` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `form_id` (`form_id`),
KEY `board_id` (`board_id`),
KEY `field_id` (`field_id`),
KEY `assigned_by` (`assigned_by`),
CONSTRAINT `tc_form_selected_fields_ibfk_1` FOREIGN KEY (`form_id`) REFERENCES `tc_forms` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_form_selected_fields_ibfk_2` FOREIGN KEY (`board_id`) REFERENCES `tc_board` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_form_selected_fields_ibfk_3` FOREIGN KEY (`field_id`) REFERENCES `tc_form_field` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_form_selected_fields_ibfk_4` FOREIGN KEY (`assigned_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=1490 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_board_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`board_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`created_by` int(11) NOT NULL,
`created_at` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `board_id` (`board_id`),
KEY `user_id` (`user_id`),
KEY `created_by` (`created_by`),
CONSTRAINT `tc_board_user_ibfk_1` FOREIGN KEY (`board_id`) REFERENCES `tc_board` (`id`) ON DELETE CASCADE,
CONSTRAINT `tc_board_user_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE,
CONSTRAINT `tc_board_user_ibfk_3` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_card_activity_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_id` int(11) NOT NULL,
`board_id` int(11) DEFAULT NULL,
`form_id` int(11) DEFAULT NULL,
`card_id` int(11) NOT NULL,
`action` varchar(255) NOT NULL,
`from_data` mediumtext DEFAULT NULL,
`to_data` mediumtext DEFAULT NULL,
`done_at` datetime NOT NULL,
`done_by` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `company_id` (`company_id`),
KEY `done_by` (`done_by`),
KEY `board_id` (`board_id`),
KEY `form_id` (`form_id`),
KEY `card_id` (`card_id`) USING BTREE,
CONSTRAINT `tc_card_activity_log_ibfk_1` FOREIGN KEY (`company_id`) REFERENCES `company` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_card_activity_log_ibfk_2` FOREIGN KEY (`card_id`) REFERENCES `tc_board_cards` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `tc_card_activity_log_ibfk_3` FOREIGN KEY (`done_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `tc_card_activity_log_ibfk_4` FOREIGN KEY (`board_id`) REFERENCES `tc_board` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_card_activity_log_ibfk_5` FOREIGN KEY (`form_id`) REFERENCES `tc_forms` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=240 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_card_comments` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`card_id` int(11) NOT NULL,
`board_id` int(11) NOT NULL,
`company_id` int(11) NOT NULL,
`comment` text NOT NULL,
`comment_by` int(11) DEFAULT NULL,
`comment_at` datetime DEFAULT NULL,
`is_deleted` tinyint(1) DEFAULT 0,
`deleted_by` int(11) DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `card_id` (`card_id`),
KEY `comment_by` (`comment_by`),
KEY `deleted_by` (`deleted_by`),
KEY `company_id` (`company_id`),
KEY `board_id` (`board_id`),
CONSTRAINT `tc_card_comments_ibfk_1` FOREIGN KEY (`card_id`) REFERENCES `tc_board_cards` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_card_comments_ibfk_2` FOREIGN KEY (`comment_by`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_card_comments_ibfk_3` FOREIGN KEY (`deleted_by`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_card_comments_ibfk_4` FOREIGN KEY (`company_id`) REFERENCES `company` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_card_comments_ibfk_5` FOREIGN KEY (`board_id`) REFERENCES `tc_board` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=92 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;');
$this->addSql("CREATE TABLE IF NOT EXISTS `tc_card_timer_session` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_id` int(11) NOT NULL,
`board_id` int(11) NOT NULL,
`column_id` int(11) NOT NULL,
`card_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`start_time` datetime NOT NULL,
`end_time` datetime DEFAULT NULL,
`action` enum('timer','move_card') NOT NULL DEFAULT 'timer',
PRIMARY KEY (`id`),
KEY `company_id` (`company_id`),
KEY `card_id` (`card_id`),
KEY `user_id` (`user_id`),
KEY `board_id` (`board_id`),
KEY `column_id` (`column_id`),
CONSTRAINT `tc_card_timer_session_ibfk_1` FOREIGN KEY (`company_id`) REFERENCES `company` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_card_timer_session_ibfk_2` FOREIGN KEY (`card_id`) REFERENCES `tc_board_cards` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_card_timer_session_ibfk_3` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_card_timer_session_ibfk_4` FOREIGN KEY (`board_id`) REFERENCES `tc_board` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_card_timer_session_ibfk_5` FOREIGN KEY (`column_id`) REFERENCES `tc_board_columns` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;");
$this->addSql("CREATE TABLE `tc_card_track_position` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_id` int(11) NOT NULL,
`card_id` int(11) NOT NULL,
`board_id` int(11) NOT NULL,
`column_id` int(11) DEFAULT NULL,
`row_id` int(11) DEFAULT NULL,
`in_time` datetime NOT NULL,
`in_action` enum('create','update','drag','transfer') DEFAULT NULL,
`in_user` int(11) NOT NULL,
`out_time` datetime DEFAULT NULL,
`out_action` enum('create','update','drag','transfer') DEFAULT NULL,
`out_user` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `company_id` (`company_id`),
KEY `card_id` (`card_id`),
KEY `board_id` (`board_id`),
KEY `column_id` (`column_id`),
KEY `row_id` (`row_id`),
KEY `tc_card_timer_session_ibfk_6` (`in_user`),
KEY `tc_card_timer_session_ibfk_7` (`out_user`),
CONSTRAINT `tc_card_timer_session_ibfk_6` FOREIGN KEY (`in_user`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_card_timer_session_ibfk_7` FOREIGN KEY (`out_user`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_card_track_position_ibfk_1` FOREIGN KEY (`company_id`) REFERENCES `company` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_card_track_position_ibfk_2` FOREIGN KEY (`card_id`) REFERENCES `tc_board_cards` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_card_track_position_ibfk_3` FOREIGN KEY (`board_id`) REFERENCES `tc_board` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_card_track_position_ibfk_4` FOREIGN KEY (`column_id`) REFERENCES `tc_board_columns` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_card_track_position_ibfk_5` FOREIGN KEY (`row_id`) REFERENCES `tc_board_rows` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;");
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_customer_feedback` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tell_us_your_experiance` text NOT NULL,
`suggestion_to_make_better` text DEFAULT NULL,
`customer_rating` tinyint(4) NOT NULL,
`upload_file_id` int(11) DEFAULT NULL,
`submitted_by` int(11) NOT NULL,
`submitted_at` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `upload_file_id` (`upload_file_id`),
KEY `submitted_by` (`submitted_by`),
CONSTRAINT `tc_customer_feedback_ibfk_1` FOREIGN KEY (`upload_file_id`) REFERENCES `tc_upload_files` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_customer_feedback_ibfk_2` FOREIGN KEY (`submitted_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
$this->addSql("CREATE TABLE IF NOT EXISTS `tc_imports` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_id` int(11) NOT NULL,
`uploaded_filename` varchar(255) NOT NULL,
`file_name` varchar(255) NOT NULL,
`file_type` varchar(255) DEFAULT NULL,
`imported_at` datetime DEFAULT NULL,
`imported_by` int(11) DEFAULT NULL,
`import_status` enum('failed','success') DEFAULT NULL,
`validation_status` enum('failed','success') DEFAULT NULL,
`is_first_row_title` tinyint(1) NOT NULL DEFAULT 1,
`title_row` tinyint(1) NOT NULL DEFAULT 1,
`row_starts_from` int(11) DEFAULT NULL,
`delete_as_junk` tinyint(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
KEY `company_id` (`company_id`),
KEY `imported_by` (`imported_by`),
CONSTRAINT `tc_imports_ibfk_1` FOREIGN KEY (`imported_by`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=444 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;");
$this->addSql("CREATE TABLE IF NOT EXISTS `tc_report_generation` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_id` int(11) NOT NULL,
`report_title` varchar(255) NOT NULL,
`type` enum('table','chart') NOT NULL,
`show_on_dashboard` tinyint(4) NOT NULL DEFAULT 0,
`show_on_topnav` tinyint(4) NOT NULL DEFAULT 0,
`has_filter` tinyint(4) NOT NULL DEFAULT 0,
`has_search` tinyint(4) NOT NULL DEFAULT 0,
`is_deleted` tinyint(4) NOT NULL DEFAULT 0,
`created_by` int(11) NOT NULL,
`created_at` datetime NOT NULL,
`updated_by` int(11) DEFAULT NULL,
`updated_at` int(11) DEFAULT NULL,
`deleted_by` int(11) DEFAULT NULL,
`deleted_at` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `created_by` (`created_by`),
KEY `updated_by` (`updated_by`),
KEY `deleted_by` (`deleted_by`),
KEY `company_id` (`company_id`),
CONSTRAINT `tc_report_generation_ibfk_1` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_report_generation_ibfk_2` FOREIGN KEY (`updated_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `tc_report_generation_ibfk_3` FOREIGN KEY (`deleted_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `tc_report_generation_ibfk_4` FOREIGN KEY (`company_id`) REFERENCES `company` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;");
$this->addSql("CREATE TABLE `tc_report_generation_form_fields` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`report_generation_id` int(11) NOT NULL,
`form_id` int(11) NOT NULL,
`field_type` enum('static','custom') NOT NULL DEFAULT 'custom',
`static_field` varchar(255) DEFAULT NULL,
`field_id` int(11) DEFAULT NULL,
`sort_order` int(11) NOT NULL DEFAULT 1,
`assigned_by` int(11) NOT NULL,
`assigned_at` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `report_generation_id` (`report_generation_id`),
KEY `form_id` (`form_id`),
KEY `field_id` (`field_id`),
KEY `assigned_by` (`assigned_by`),
CONSTRAINT `tc_report_generation_form_fields_ibfk_1` FOREIGN KEY (`report_generation_id`) REFERENCES `tc_report_generation` (`id`) ON DELETE CASCADE,
CONSTRAINT `tc_report_generation_form_fields_ibfk_2` FOREIGN KEY (`form_id`) REFERENCES `tc_forms` (`id`) ON DELETE CASCADE,
CONSTRAINT `tc_report_generation_form_fields_ibfk_3` FOREIGN KEY (`field_id`) REFERENCES `tc_form_field` (`id`) ON DELETE CASCADE,
CONSTRAINT `tc_report_generation_form_fields_ibfk_4` FOREIGN KEY (`assigned_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci");
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_saved_filter` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_id` int(11) NOT NULL,
`filter_name` varchar(255) NOT NULL,
`filter_data` mediumtext NOT NULL,
`is_deleted` tinyint(1) NOT NULL DEFAULT 0,
`create_at` datetime NOT NULL,
`created_by` int(11) NOT NULL,
`updated_at` datetime DEFAULT NULL,
`updated_by` int(11) DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
`deleted_by` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `company_id` (`company_id`),
KEY `created_by` (`created_by`),
KEY `updated_by` (`updated_by`),
KEY `deleted_by` (`deleted_by`),
CONSTRAINT `tc_saved_filter_ibfk_1` FOREIGN KEY (`company_id`) REFERENCES `company` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_saved_filter_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_saved_filter_ibfk_3` FOREIGN KEY (`updated_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `tc_saved_filter_ibfk_4` FOREIGN KEY (`deleted_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=118 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_skills` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_id` int(11) NOT NULL,
`skill_title` varchar(255) NOT NULL,
`is_deleted` tinyint(1) NOT NULL,
`created_by` int(11) NOT NULL,
`created_at` datetime NOT NULL,
`updated_by` int(11) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_by` int(11) DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `company_id` (`company_id`),
KEY `created_by` (`created_by`),
KEY `updated_by` (`updated_by`),
KEY `deleted_by` (`deleted_by`),
CONSTRAINT `tc_skills_ibfk_1` FOREIGN KEY (`company_id`) REFERENCES `company` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_skills_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `tc_skills_ibfk_3` FOREIGN KEY (`updated_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `tc_skills_ibfk_4` FOREIGN KEY (`deleted_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
$this->addSql('CREATE TABLE `tc_board_skills` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`board_id` int(11) NOT NULL,
`skill_id` int(11) NOT NULL,
`assigned_by` int(11) NOT NULL,
`assigned_at` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `board_id` (`board_id`),
KEY `skill_id` (`skill_id`),
KEY `assigned_by` (`assigned_by`),
CONSTRAINT `tc_board_skills_ibfk_1` FOREIGN KEY (`board_id`) REFERENCES `tc_board` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_board_skills_ibfk_2` FOREIGN KEY (`skill_id`) REFERENCES `tc_skills` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_board_skills_ibfk_3` FOREIGN KEY (`assigned_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_skill_ratings` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_id` int(11) NOT NULL,
`rating_label` varchar(255) NOT NULL,
`color_code` varchar(255) NOT NULL,
`is_deleted` tinyint(1) NOT NULL DEFAULT 0,
`created_by` int(11) NOT NULL,
`created_at` datetime NOT NULL,
`updated_by` int(11) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_by` int(11) DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `company_id` (`company_id`),
KEY `created_by` (`created_by`),
KEY `updated_by` (`updated_by`),
KEY `deleted_by` (`deleted_by`),
CONSTRAINT `tc_skill_ratings_ibfk_1` FOREIGN KEY (`company_id`) REFERENCES `company` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_skill_ratings_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `tc_skill_ratings_ibfk_3` FOREIGN KEY (`updated_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `tc_skill_ratings_ibfk_4` FOREIGN KEY (`deleted_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
$this->addSql('CREATE TABLE IF NOT EXISTS `tc_user_activity_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`action` varchar(255) NOT NULL,
`from_data` mediumtext NOT NULL,
`to_data` mediumtext NOT NULL,
`done_at` datetime NOT NULL,
`done_by` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `company_id` (`company_id`),
KEY `user_id` (`user_id`),
KEY `done_by` (`done_by`),
CONSTRAINT `tc_user_activity_log_ibfk_1` FOREIGN KEY (`company_id`) REFERENCES `company` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_user_activity_log_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `tc_user_activity_log_ibfk_3` FOREIGN KEY (`done_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=420 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
$this->addSql('CREATE TABLE `tc_user_skills` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`skill_id` int(11) NOT NULL,
`rating_id` int(11) DEFAULT NULL,
`assigned_by` int(11) NOT NULL,
`assigned_at` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `skill_id` (`skill_id`),
KEY `assigned_by` (`assigned_by`),
KEY `rating_id` (`rating_id`),
CONSTRAINT `tc_user_skills_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_user_skills_ibfk_2` FOREIGN KEY (`skill_id`) REFERENCES `tc_skills` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `tc_user_skills_ibfk_3` FOREIGN KEY (`assigned_by`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `tc_user_skills_ibfk_4` FOREIGN KEY (`rating_id`) REFERENCES `tc_skill_ratings` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;');
}
public function down(Schema $schema): void
{
// Do not change this order
$this->addSql('DROP TABLE IF EXISTS `tc_user_activity_log`;');
$this->addSql('DROP TABLE IF EXISTS `tc_card_activity_log`;');
$this->addSql('DROP TABLE IF EXISTS `invite_user`;');
$this->addSql('DROP TABLE IF EXISTS `tc_form_selected_fields`;');
$this->addSql('DROP TABLE IF EXISTS `tc_report_generation_form_fields`;');
$this->addSql('DROP TABLE IF EXISTS `tc_report_generation`;');
$this->addSql('DROP TABLE IF EXISTS `tc_form_rule_builder`;');
$this->addSql('DROP TABLE IF EXISTS `tc_custom_form_file_upload_values`;');
$this->addSql('DROP TABLE IF EXISTS `tc_custom_form_multi_option_values`;');
$this->addSql('DROP TABLE IF EXISTS `tc_custom_form_user_field_values`;');
$this->addSql('DROP TABLE IF EXISTS `tc_form_field_options`;');
$this->addSql('DROP TABLE IF EXISTS `tc_form_field_users`;');
$this->addSql('DROP TABLE IF EXISTS `tc_form_field`;');
$this->addSql('DROP TABLE IF EXISTS `tc_form_section`;');
$this->addSql('DROP TABLE IF EXISTS `tc_card_comments`;');
$this->addSql('DROP TABLE IF EXISTS `tc_card_timer_session`;');
$this->addSql('DROP TABLE IF EXISTS `tc_card_track_position`;');
$this->addSql('DROP TABLE IF EXISTS `tc_board_cards`;');
$this->addSql('DROP TABLE IF EXISTS `tc_board_columns`;');
$this->addSql('DROP TABLE IF EXISTS `tc_board_forms`;');
$this->addSql('DROP TABLE IF EXISTS `tc_board_rows`;');
$this->addSql('DROP TABLE IF EXISTS `tc_board_settings`;');
$this->addSql('DROP TABLE IF EXISTS `tc_board_skills`;');
$this->addSql('DROP TABLE IF EXISTS `tc_board_user`;');
$this->addSql('DROP TABLE IF EXISTS `tc_board`;');
$this->addSql('DROP TABLE IF EXISTS `tc_forms`;');
$this->addSql('DROP TABLE IF EXISTS `tc_customer_feedback`;');
$this->addSql('DROP TABLE IF EXISTS `tc_imports`;');
$this->addSql('DROP TABLE IF EXISTS `tc_saved_filter`;');
$this->addSql('DROP TABLE IF EXISTS `tc_user_skills`;');
$this->addSql('DROP TABLE IF EXISTS `tc_skill_ratings`;');
$this->addSql('DROP TABLE IF EXISTS `tc_skills`;');
$this->addSql('DROP TABLE IF EXISTS `tc_theme`;');
}
}