blob: 478df21aa0714516ece673ee65e41eb1f99dad7f [file] [log] [blame]
CREATE TABLE `m_surveys` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`a_key` VARCHAR(32) NOT NULL,
`a_name` VARCHAR(255) NOT NULL,
`description` VARCHAR(4000) NULL,
`country_code` VARCHAR(2) NOT NULL,
`valid_from` DATETIME NULL DEFAULT NULL,
`valid_to` DATETIME NULL DEFAULT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `m_survey_components` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`survey_id` BIGINT(20) NOT NULL,
`a_key` VARCHAR(32) NOT NULL,
`a_text` VARCHAR(255) NOT NULL,
`description` VARCHAR(4000) NULL,
`sequence_no` INT(4) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`survey_id`) REFERENCES `m_surveys` (`id`)
);
CREATE TABLE `m_survey_questions` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`survey_id` BIGINT(20) NOT NULL,
`component_key` VARCHAR(32) NULL,
`a_key` VARCHAR(32) NOT NULL,
`a_text` VARCHAR(255) NOT NULL,
`description` VARCHAR(4000) NULL,
`sequence_no` INT(4) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`survey_id`) REFERENCES `m_surveys` (`id`)
);
CREATE TABLE `m_survey_responses` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`question_id` BIGINT(20) NOT NULL,
`a_text` VARCHAR(255) NOT NULL,
`a_value` INT(4) NOT NULL,
`sequence_no` INT(4) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`question_id`) REFERENCES `m_survey_questions` (`id`)
);
CREATE TABLE `m_survey_lookup_tables` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`survey_id` BIGINT(20) NOT NULL,
`a_key` VARCHAR(255) NOT NULL,
`description` INT(4) NULL,
`value_from` INT(4) NOT NULL,
`value_to` INT(4) NOT NULL,
`score` DECIMAL(5, 2) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`survey_id`) REFERENCES `m_surveys` (`id`)
);
CREATE TABLE `m_survey_scorecards` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`survey_id` BIGINT(20) NOT NULL,
`question_id` BIGINT(20) NOT NULL,
`response_id` BIGINT(20) NOT NULL,
`staff_id` BIGINT(20) NOT NULL,
`client_id` BIGINT(20) NOT NULL,
`created_on` DATETIME NULL DEFAULT NULL,
`a_value` INT(4) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`survey_id`) REFERENCES `m_surveys` (`id`),
FOREIGN KEY (`question_id`) REFERENCES `m_survey_questions` (`id`),
FOREIGN KEY (`response_id`) REFERENCES `m_survey_responses` (`id`),
FOREIGN KEY (`staff_id`) REFERENCES `m_staff` (`id`),
FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`)
);