/**
* Database Schema for [Your Application's Name]
*
* This script defines the schema for a series of tables critical to the application's functionality. It includes:
* - `api_key`: Manages API keys with associated usage credits and types.
* - `candidates`: Tracks candidates sourced for recruitment, including various metadata and status indicators.
* - `client`: Stores client information, vital for managing client interactions and data.
* - `requests`: Details requests made by or for clients, encompassing job details and assignment tracking.
* - `user`: Manages user accounts, roles, and authentication within the application.
*
* Each table is designed with a focus on extensibility, security, and robust data management, ensuring that the application
* can scale and adapt to future requirements.
*
* Author: RapidMod
* Website: https://rapidmod.io/
*
* Note: Before executing this script, ensure that your MySQL/MariaDB server is running and accessible. Modify the script as necessary
* to align with your specific application logic and database naming conventions.
*/
| api_key | CREATE TABLE `api_key` (
`id` bigint NOT NULL AUTO_INCREMENT,
`guid` varchar(96) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`active` tinyint DEFAULT NULL,
`credits` int DEFAULT NULL,
`type` varchar(96) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'api_key',
`public_key` varchar(248) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`private_key` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
`valid_until` datetime DEFAULT NULL,
`extra_data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `guid` (`guid`),
KEY `type` (`type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci |
| candidates | CREATE TABLE `candidates` (
`id` bigint NOT NULL AUTO_INCREMENT,
`guid` varchar(96) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`sourced_by` bigint DEFAULT NULL,
`recruiter_id` bigint DEFAULT NULL,
`request_id` bigint DEFAULT NULL,
`has_dripify` tinyint DEFAULT NULL,
`has_rf` tinyint DEFAULT NULL,
`date_loaded` datetime DEFAULT NULL,
`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
`linkedin_profile_link_status` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`linkedin_profile_link` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`recruiter_notes` tinytext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
`sourcer_notes` tinytext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `guid` (`guid`),
KEY `sourced_by` (`sourced_by`),
KEY `recruiter_id` (`recruiter_id`),
KEY `request_id` (`request_id`),
CONSTRAINT `candidates_ibfk_1` FOREIGN KEY (`recruiter_id`) REFERENCES `user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `candidates_ibfk_2` FOREIGN KEY (`sourced_by`) REFERENCES `user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `candidates_ibfk_3` FOREIGN KEY (`request_id`) REFERENCES `requests` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci |
| client | CREATE TABLE `client` (
`id` bigint NOT NULL AUTO_INCREMENT,
`guid` varchar(96) COLLATE utf8mb4_unicode_ci NOT NULL,
`name` varchar(96) COLLATE utf8mb4_unicode_ci NOT NULL,
`phone` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`updated` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `guid` (`guid`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci |
| requests | CREATE TABLE `requests` (
`id` bigint NOT NULL AUTO_INCREMENT,
`guid` varchar(96) COLLATE utf8mb4_unicode_ci NOT NULL,
`job_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`job_city` varchar(96) COLLATE utf8mb4_unicode_ci NOT NULL,
`search_area` varchar(96) COLLATE utf8mb4_unicode_ci NOT NULL,
`search_priority` int NOT NULL,
`client_id` bigint DEFAULT NULL,
`submitted_by` bigint DEFAULT NULL,
`assigned_to` bigint DEFAULT NULL,
`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `guid` (`guid`),
KEY `assigned_to` (`assigned_to`),
KEY `submitted_by` (`submitted_by`),
KEY `client_id` (`client_id`),
CONSTRAINT `requests_ibfk_1` FOREIGN KEY (`assigned_to`) REFERENCES `user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `requests_ibfk_2` FOREIGN KEY (`submitted_by`) REFERENCES `user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `requests_ibfk_3` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci |
| user | CREATE TABLE `user` (
`id` bigint NOT NULL AUTO_INCREMENT,
`api_key_id` bigint DEFAULT NULL,
`contact_id` bigint DEFAULT NULL,
`role` varchar(48) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'client',
`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'this should be email address',
`email_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`guid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`auth_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`password` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`domain` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'local',
`status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pending',
`last_login` datetime DEFAULT NULL,
`updated` datetime DEFAULT NULL,
`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `contact_id` (`contact_id`),
KEY `guid` (`guid`),
KEY `api_key_id` (`api_key_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=COMPACT |
Comments
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|0 👍
/0 👎
0 B
|👍
/👎