-- https://www.phpmyadmin.net/
--

START TRANSACTION;


--
-- Database: `erp_system`
--

-- --------------------------------------------------------

--
-- Table structure for table `access_requests`
--

CREATE TABLE IF NOT EXISTS `access_requests` (
  `id` int NOT NULL AUTO_INCREMENT,
  `first_name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL,
  `last_name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL,
  `email` varchar(150) COLLATE utf8mb4_general_ci NOT NULL,
  `mobile` varchar(20) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `organization_id` int DEFAULT NULL,
  `organization_name` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `requested_role` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
  `remarks` text COLLATE utf8mb4_general_ci,
  `status` enum('pending','approved','rejected') COLLATE utf8mb4_general_ci DEFAULT 'pending',
  `approved_by` int DEFAULT NULL,
  `approved_at` datetime DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `access_requests`
--

INSERT IGNORE INTO `access_requests` (`id`, `first_name`, `last_name`, `email`, `mobile`, `organization_id`, `organization_name`, `requested_role`, `remarks`, `status`, `approved_by`, `approved_at`, `created_at`) VALUES
(1, 'Prajwal', 'Patil', 'prajwal@gmail.com', '9876543210', 1, 'VIIT', 'Faculty', 'Need ERP Access', 'approved', 1, '2026-06-08 13:26:14', '2026-06-08 05:44:10'),
(2, 'Test', 'Faculty', 'testfaculty@gmail.com', '9876543210', NULL, 'VIIT', 'Faculty', 'Need ERP Access', 'pending', NULL, NULL, '2026-06-11 08:24:30');

-- --------------------------------------------------------

--
-- Table structure for table `departments`
--

CREATE TABLE IF NOT EXISTS `departments` (
  `id` int NOT NULL AUTO_INCREMENT,
  `organization_id` int NOT NULL,
  `department_name` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `department_code` varchar(20) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `status` enum('active','inactive') COLLATE utf8mb4_general_ci DEFAULT 'active',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `organization_id` (`organization_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Table structure for table `login_history`
--

CREATE TABLE IF NOT EXISTS `login_history` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `login_time` datetime NOT NULL,
  `logout_time` datetime DEFAULT NULL,
  `ip_address` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `device_info` text COLLATE utf8mb4_general_ci,
  `status` enum('success','failed') COLLATE utf8mb4_general_ci DEFAULT 'success',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_user_id` (`user_id`),
  KEY `idx_login_time` (`login_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `login_history`
--

INSERT IGNORE INTO `login_history` (`id`, `user_id`, `login_time`, `logout_time`, `ip_address`, `device_info`, `status`, `created_at`) VALUES
(1, 2, '2026-06-16 12:52:46', NULL, '::1', 'PostmanRuntime/7.54.0', 'success', '2026-06-16 07:22:46'),
(2, 2, '2026-06-17 21:41:39', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', 'success', '2026-06-17 16:11:39'),
(3, 2, '2026-06-17 23:54:31', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', 'success', '2026-06-17 18:24:31'),
(4, 2, '2026-06-18 11:10:06', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', 'success', '2026-06-18 05:40:06'),
(5, 2, '2026-06-18 11:47:01', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', 'success', '2026-06-18 06:17:01'),
(6, 2, '2026-06-18 11:56:24', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', 'success', '2026-06-18 06:26:24'),
(7, 2, '2026-06-18 21:41:03', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.124.2 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-18 16:11:03'),
(8, 2, '2026-06-18 23:04:42', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.0 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-18 17:34:42'),
(9, 2, '2026-06-19 18:42:38', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.0 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-19 13:12:38'),
(10, 2, '2026-06-19 19:32:48', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.0 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-19 14:02:48'),
(11, 2, '2026-06-19 19:43:16', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.0 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-19 14:13:16'),
(12, 2, '2026-06-22 10:52:19', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.0 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-22 05:22:19'),
(13, 2, '2026-06-22 12:31:42', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.0 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-22 07:01:42'),
(14, 2, '2026-06-22 16:30:48', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.0 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-22 11:00:48'),
(15, 2, '2026-06-22 17:27:12', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', 'success', '2026-06-22 11:57:12'),
(16, 2, '2026-06-23 12:33:34', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-23 07:03:34'),
(17, 2, '2026-06-23 14:59:03', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-23 09:29:03'),
(18, 2, '2026-06-23 16:04:49', NULL, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-23 10:34:49'),
(19, 2, '2026-06-24 15:01:05', NULL, '127.0.0.1', 'PostmanRuntime/7.51.1', 'success', '2026-06-24 09:31:05'),
(20, 2, '2026-06-24 15:52:34', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-24 10:22:34'),
(21, 2, '2026-06-24 19:00:00', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-24 13:30:00'),
(22, 2, '2026-06-24 19:23:45', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-24 13:53:45'),
(23, 2, '2026-06-24 23:09:01', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-24 17:39:01'),
(24, 2, '2026-06-24 23:17:13', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-24 17:47:13'),
(25, 2, '2026-06-25 02:33:40', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-24 21:03:40'),
(26, 2, '2026-06-25 09:53:34', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-25 04:23:34'),
(27, 2, '2026-06-25 10:15:36', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-25 04:45:36'),
(28, 2, '2026-06-25 10:27:09', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-25 04:57:09'),
(29, 2, '2026-06-25 14:36:50', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-25 09:06:50'),
(30, 2, '2026-06-25 19:32:32', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-25 14:02:32'),
(31, 2, '2026-06-30 11:06:43', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-06-30 05:36:43'),
(32, 2, '2026-07-02 13:29:56', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-07-02 07:59:56'),
(33, 2, '2026-07-02 13:32:28', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-07-02 08:02:28'),
(34, 2, '2026-07-02 14:29:38', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-07-02 08:59:38'),
(35, 2, '2026-07-03 10:54:47', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.125.1 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-07-03 05:24:47'),
(36, 2, '2026-07-03 10:57:56', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', 'success', '2026-07-03 05:27:56'),
(37, 2, '2026-07-03 12:40:39', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', 'success', '2026-07-03 07:10:39'),
(38, 2, '2026-07-07 10:14:53', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.127.0 Chrome/148.0.7778.97 Electron/42.2.0 Safari/537.36', 'success', '2026-07-07 04:44:53');

-- --------------------------------------------------------

--
-- Table structure for table `organizations`
--

CREATE TABLE IF NOT EXISTS `organizations` (
  `id` int NOT NULL AUTO_INCREMENT,
  `organization_name` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `organization_code` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
  `acronym` varchar(20) COLLATE utf8mb4_general_ci DEFAULT '',
  `email` varchar(150) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `mobile` varchar(20) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `address` text COLLATE utf8mb4_general_ci,
  `status` enum('active','inactive') COLLATE utf8mb4_general_ci DEFAULT 'active',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `organizations`
--

INSERT IGNORE INTO `organizations` (`id`, `organization_name`, `organization_code`, `acronym`, `email`, `mobile`, `address`, `status`, `created_at`, `updated_at`) VALUES
(1, 'ERP System', 'VIIT001', 'ERP', 'superadmin@erp.com', '9999999999', NULL, 'active', '2026-05-30 08:05:15', '2026-06-08 07:07:27'),
(2, 'PCCOE', 'PCCOE001', '', 'admin@pccoe.com', '9876543210', 'Pune', 'active', '2026-06-16 08:56:28', '2026-06-16 08:56:28'),
(4, 'AP college', 'AP002', 'AP002', 'ap@gmail.com', '0987654321', 'pune', 'inactive', '2026-06-24 11:36:25', '2026-06-25 09:29:08'),
(5, 'Test College', 'T003', 'T003', 'test@gmail.com', '9876543210', 'Nagar', 'active', '2026-06-24 13:05:17', '2026-06-25 10:07:21');

-- --------------------------------------------------------

--
-- Table structure for table `services`
--

CREATE TABLE IF NOT EXISTS `services` (
  `id` int NOT NULL AUTO_INCREMENT,
  `service_name` varchar(100) NOT NULL,
  `service_code` varchar(30) NOT NULL,
  `status` enum('active','inactive') DEFAULT 'active',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `services`
--

INSERT IGNORE INTO `services` (`id`, `service_name`, `service_code`, `status`, `created_at`) VALUES
(2, 'Library', 'LIBRARY', 'active', '2026-06-23 15:40:45'),
(3, 'Fees Management', 'FEES', 'active', '2026-06-23 15:40:45'),
(4, 'Examination', 'EXAM', 'inactive', '2026-06-23 15:40:45'),
(5, 'Payroll', 'PAYROLL', 'active', '2026-06-23 15:40:45'),
(6, 'Hostel Management', 'HOSTEL', 'active', '2026-06-23 15:40:45'),
(7, 'Transport', 'TRANSPORT', 'active', '2026-06-23 15:40:45'),
(8, 'HRMS', 'HRMS', 'active', '2026-06-23 15:40:45'),
(9, 'Inventory', 'INVENTORY', 'active', '2026-06-23 15:40:45'),
(12, 'Attendance', 'ATTENDANCE', 'active', '2026-06-30 08:50:11');

-- --------------------------------------------------------

--
-- Table structure for table `organization_services`
--

CREATE TABLE IF NOT EXISTS `organization_services` (
  `id` int NOT NULL AUTO_INCREMENT,
  `organization_id` int NOT NULL,
  `service_id` int NOT NULL,
  `status` enum('active','inactive') DEFAULT 'active',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `organization_id` (`organization_id`),
  KEY `service_id` (`service_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `organization_services`
--

INSERT IGNORE INTO `organization_services` (`id`, `organization_id`, `service_id`, `status`, `created_at`) VALUES
(46, 1, 3, 'active', '2026-07-02 09:27:47'),
(48, 1, 2, 'active', '2026-07-02 09:28:02'),
(49, 5, 2, 'active', '2026-07-02 09:28:02'),
(57, 5, 6, 'active', '2026-07-02 09:29:08'),
(58, 4, 6, 'active', '2026-07-02 09:29:08'),
(59, 2, 6, 'active', '2026-07-02 09:29:08'),
(60, 1, 6, 'active', '2026-07-02 09:29:08'),
(62, 5, 12, 'active', '2026-07-02 09:30:01'),
(63, 4, 12, 'active', '2026-07-02 09:30:01');

-- --------------------------------------------------------

--
-- Table structure for table `roles`
--

CREATE TABLE IF NOT EXISTS `roles` (
  `id` int NOT NULL AUTO_INCREMENT,
  `role_name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL,
  `role_code` varchar(20) COLLATE utf8mb4_general_ci NOT NULL,
  `status` enum('active','inactive') COLLATE utf8mb4_general_ci DEFAULT 'active',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `roles`
--

INSERT IGNORE INTO `roles` (`id`, `role_name`, `role_code`, `status`, `created_at`) VALUES
(1, 'Super Admin', 'SUPERADMIN', 'active', '2026-05-30 06:39:08'),
(2, 'Admin', 'ADMIN', 'active', '2026-05-30 06:39:08'),
(3, 'Department Admin', 'DEPTADMIN', 'active', '2026-05-30 06:39:08'),
(4, 'Faculty', 'FACULTY', 'active', '2026-05-30 06:39:08'),
(5, 'Staff', 'STAFF', 'active', '2026-05-30 06:39:08'),
(6, 'Student', 'STUDENT', 'active', '2026-05-30 06:39:08'),
(7, 'Parent', 'PARENT', 'active', '2026-05-30 06:39:08');

-- --------------------------------------------------------

--
-- Table structure for table `notifications`
--

CREATE TABLE IF NOT EXISTS `notifications` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int DEFAULT NULL,
  `title` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `description` text COLLATE utf8mb4_general_ci,
  `type` varchar(50) COLLATE utf8mb4_general_ci DEFAULT 'info',
  `is_read` tinyint(1) DEFAULT '0',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Table structure for table `recent_activities`
--

CREATE TABLE IF NOT EXISTS `recent_activities` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int DEFAULT NULL,
  `title` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `description` text COLLATE utf8mb4_general_ci,
  `type` varchar(50) COLLATE utf8mb4_general_ci DEFAULT 'general',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

COMMIT;

