{"slug":"creatorlms","name":"Creator LMS – WordPress LMS Plugin for Coaches & Course Creators","description":"Best free WordPress LMS for coaches & course creators. Cohort learning, community & native Stripe checkout built in — no WooCommerce needed.","author":"WPFunnels","active_installs":100,"version":"1.2.11","wp_org_url":"https://wordpress.org/plugins/creatorlms/","is_closed":false,"cleanup":{"has_uninstall_hook":false,"drops_tables_on_uninstall":false,"deletes_options_on_uninstall":false},"tables":[{"table_name":"actionscheduler_actions","full_table_name":"wp_actionscheduler_actions","description":"Stores actionscheduler actions data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":null},{"table_name":"actionscheduler_logs","full_table_name":"wp_actionscheduler_logs","description":"A logging table that records activity, events, or audit history.","detection_method":"static","confidence":"medium","columns":[],"create_sql":null},{"table_name":"crlms_certificate_relationship","full_table_name":"wp_crlms_certificate_relationship","description":"Stores crlms certificate relationship data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE `wp_crlms_certificate_relationship` (\\n  `id` bigint unsigned NOT NULL AUTO_INCREMENT,\\n  `course_id` int NOT NULL,\\n  `certificate_id` int NOT NULL,\\n  PRIMARY KEY (`id`),\\n  UNIQUE KEY `unique_course_certificate` (`course_id`,`certificate_id`),\\n  KEY `course_id` (`course_id`),\\n  KEY `certificate_id` (`certificate_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci"},{"table_name":"crlms_chapter_relationship","full_table_name":"wp_crlms_chapter_relationship","description":"Stores crlms chapter relationship data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE `wp_crlms_chapter_relationship` (\\n  `id` bigint unsigned NOT NULL AUTO_INCREMENT,\\n  `course_id` int NOT NULL,\\n  `chapter_id` int NOT NULL,\\n  `order_number` int DEFAULT '0',\\n  PRIMARY KEY (`id`),\\n  UNIQUE KEY `unique_course_chapter` (`course_id`,`chapter_id`),\\n  KEY `chapter_id` (`chapter_id`),\\n  KEY `course_id` (`course_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci"},{"table_name":"crlms_content_relationship","full_table_name":"wp_crlms_content_relationship","description":"Stores crlms content relationship data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE `wp_crlms_content_relationship` (\\n  `id` bigint unsigned NOT NULL AUTO_INCREMENT,\\n  `chapter_id` int NOT NULL,\\n  `content_id` int NOT NULL,\\n  `content_type` varchar(225) COLLATE utf8mb4_unicode_520_ci NOT NULL,\\n  `order_number` int DEFAULT '0',\\n  PRIMARY KEY (`id`),\\n  UNIQUE KEY `unique_chapter_content` (`chapter_id`,`content_id`,`content_type`),\\n  KEY `chapter_id` (`chapter_id`),\\n  KEY `content_id` (`content_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci"},{"table_name":"crlms_earning","full_table_name":"wp_crlms_earning","description":"Stores crlms earning data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE `wp_crlms_earning` (\\n  `id` bigint unsigned NOT NULL AUTO_INCREMENT,\\n  `membership_id` bigint DEFAULT NULL,\\n  `course_id` bigint DEFAULT NULL,\\n  `order_id` bigint unsigned NOT NULL DEFAULT '0',\\n  `status` varchar(45) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',\\n  `start_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\\n  `end_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\\n  PRIMARY KEY (`id`),\\n  KEY `order_id` (`order_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci"},{"table_name":"crlms_notifications","full_table_name":"wp_crlms_notifications","description":"Stores crlms notifications data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE `wp_crlms_notifications` (\\n  `id` bigint unsigned NOT NULL AUTO_INCREMENT,\\n  `student_id` bigint NOT NULL,\\n  `course_id` bigint NOT NULL,\\n  `email` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,\\n  `subject` text COLLATE utf8mb4_unicode_520_ci NOT NULL,\\n  `message` longtext COLLATE utf8mb4_unicode_520_ci NOT NULL,\\n  `status` varchar(50) COLLATE utf8mb4_unicode_520_ci DEFAULT 'sent',\\n  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,\\n  PRIMARY KEY (`id`),\\n  KEY `student_id` (`student_id`),\\n  KEY `course_id` (`course_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci"},{"table_name":"crlms_order_itemmeta","full_table_name":"wp_crlms_order_itemmeta","description":"Stores order records and related transaction data.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE `wp_crlms_order_itemmeta` (\\n  `meta_id` bigint unsigned NOT NULL AUTO_INCREMENT,\\n  `order_item_id` bigint unsigned NOT NULL,\\n  `meta_key` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,\\n  `meta_value` longtext COLLATE utf8mb4_unicode_520_ci,\\n  PRIMARY KEY (`meta_id`),\\n  KEY `order_item_id` (`order_item_id`),\\n  KEY `meta_key` (`meta_key`(32))\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci"},{"table_name":"crlms_order_items","full_table_name":"wp_crlms_order_items","description":"Stores order records and related transaction data.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE `wp_crlms_order_items` (\\n  `order_item_id` bigint unsigned NOT NULL AUTO_INCREMENT,\\n  `order_item_name` text COLLATE utf8mb4_unicode_520_ci NOT NULL,\\n  `order_item_type` varchar(200) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',\\n  `order_id` bigint unsigned NOT NULL,\\n  PRIMARY KEY (`order_item_id`),\\n  KEY `order_id` (`order_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci"},{"table_name":"crlms_question_answermeta","full_table_name":"wp_crlms_question_answermeta","description":"Stores crlms question answermeta data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE `wp_crlms_question_answermeta` (\\n  `id` bigint unsigned NOT NULL AUTO_INCREMENT,\\n  `answer_id` bigint NOT NULL,\\n  `meta_key` char(32) COLLATE utf8mb4_unicode_520_ci NOT NULL,\\n  `meta_value` longtext COLLATE utf8mb4_unicode_520_ci NOT NULL,\\n  PRIMARY KEY (`id`),\\n  UNIQUE KEY `id` (`id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci"},{"table_name":"crlms_question_answers","full_table_name":"wp_crlms_question_answers","description":"Stores crlms question answers data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE `wp_crlms_question_answers` (\\n  `id` bigint unsigned NOT NULL AUTO_INCREMENT,\\n  `question_id` bigint NOT NULL,\\n  `answer` longtext COLLATE utf8mb4_unicode_520_ci NOT NULL,\\n  `order_number` int DEFAULT '0',\\n  `is_correct` tinyint(1) NOT NULL DEFAULT '0',\\n  PRIMARY KEY (`id`),\\n  UNIQUE KEY `id` (`id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci"},{"table_name":"crlms_quiz_attempts","full_table_name":"wp_crlms_quiz_attempts","description":"Stores crlms quiz attempts data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE `wp_crlms_quiz_attempts` (\\n  `id` bigint unsigned NOT NULL AUTO_INCREMENT,\\n  `course_id` bigint NOT NULL,\\n  `quiz_id` bigint NOT NULL,\\n  `student_id` bigint unsigned NOT NULL DEFAULT '0',\\n  `total` bigint unsigned NOT NULL DEFAULT '0',\\n  `status` varchar(45) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',\\n  `start_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\\n  `end_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\\n  PRIMARY KEY (`id`),\\n  KEY `course_id` (`course_id`),\\n  KEY `quiz_id` (`quiz_id`),\\n  KEY `student_id` (`student_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci"},{"table_name":"crlms_quiz_attempts_answers","full_table_name":"wp_crlms_quiz_attempts_answers","description":"Stores crlms quiz attempts answers data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE `wp_crlms_quiz_attempts_answers` (\\n  `id` bigint unsigned NOT NULL AUTO_INCREMENT,\\n  `student_id` bigint unsigned NOT NULL DEFAULT '0',\\n  `quiz_id` bigint NOT NULL,\\n  `question_id` bigint NOT NULL,\\n  `quiz_attempt_id` bigint NOT NULL,\\n  `given_answer` longtext COLLATE utf8mb4_unicode_520_ci NOT NULL,\\n  `question_marks` float DEFAULT '0',\\n  `achive_mark` float DEFAULT '0',\\n  `minus_mark` float DEFAULT '0',\\n  `is_correct` tinyint(1) DEFAULT '0',\\n  `is_manually_reviewed` tinyint(1) DEFAULT '0',\\n  PRIMARY KEY (`id`),\\n  KEY `quiz_attempt_id` (`quiz_attempt_id`),\\n  KEY `quiz_id` (`quiz_id`),\\n  KEY `student_id` (`student_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci"},{"table_name":"crlms_quiz_questions_relationship","full_table_name":"wp_crlms_quiz_questions_relationship","description":"Stores crlms quiz questions relationship data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE `wp_crlms_quiz_questions_relationship` (\\n  `id` bigint unsigned NOT NULL AUTO_INCREMENT,\\n  `quiz_id` int NOT NULL,\\n  `question_id` int NOT NULL,\\n  `order_number` int DEFAULT '0',\\n  PRIMARY KEY (`id`),\\n  UNIQUE KEY `id` (`id`),\\n  KEY `quiz_id` (`quiz_id`),\\n  KEY `question_id` (`question_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci"},{"table_name":"crlms_sessions","full_table_name":"wp_crlms_sessions","description":"Stores session data for tracking user or visitor state.","detection_method":"static","confidence":"high","columns":[{"name":"session_id","type":"bigint(20) unsigned","nullable":false,"primary_key":true},{"name":"session_key","type":"char(32)","nullable":false,"primary_key":false},{"name":"session_value","type":"longtext","nullable":false,"primary_key":false},{"name":"session_expiry","type":"bigint(20) unsigned","nullable":false,"primary_key":false},{"name":"course_id","type":"INT(11)","nullable":false,"primary_key":false},{"name":"chapter_id","type":"INT(11)","nullable":false,"primary_key":false},{"name":"order_number","type":"INT(11)","nullable":true,"primary_key":false},{"name":"chapter_id","type":"INT(11)","nullable":false,"primary_key":false},{"name":"content_id","type":"INT(11)","nullable":false,"primary_key":false},{"name":"content_type","type":"VARCHAR(225)","nullable":false,"primary_key":false},{"name":"order_number","type":"INT(11)","nullable":true,"primary_key":false},{"name":"course_id","type":"INT(11)","nullable":false,"primary_key":false},{"name":"certificate_id","type":"INT(11)","nullable":false,"primary_key":false},{"name":"user_id","type":"bigint(20)","nullable":false,"primary_key":false},{"name":"course_id","type":"bigint(20)","nullable":false,"primary_key":false},{"name":"membership_id","type":"bigint(20)","nullable":true,"primary_key":false},{"name":"order_id","type":"bigint(20) unsigned","nullable":false,"primary_key":false},{"name":"status","type":"varchar(45)","nullable":false,"primary_key":false},{"name":"progress","type":"varchar(45)","nullable":false,"primary_key":false},{"name":"start_date","type":"datetime","nullable":false,"primary_key":false},{"name":"end_date","type":"datetime","nullable":false,"primary_key":false},{"name":"membership_id","type":"bigint(20)","nullable":true,"primary_key":false},{"name":"course_id","type":"bigint(20)","nullable":true,"primary_key":false},{"name":"order_id","type":"bigint(20) unsigned","nullable":false,"primary_key":false},{"name":"status","type":"varchar(45)","nullable":false,"primary_key":false},{"name":"start_date","type":"datetime","nullable":false,"primary_key":false},{"name":"end_date","type":"datetime","nullable":false,"primary_key":false},{"name":"enrollment_id","type":"bigint(20)","nullable":false,"primary_key":false},{"name":"content_id","type":"bigint(20)","nullable":false,"primary_key":false},{"name":"content_type","type":"varchar(45)","nullable":false,"primary_key":false},{"name":"status","type":"varchar(45)","nullable":false,"primary_key":false},{"name":"start_date","type":"datetime","nullable":false,"primary_key":false},{"name":"user_id","type":"bigint(20)","nullable":false,"primary_key":false},{"name":"lesson_id","type":"bigint(20)","nullable":false,"primary_key":false},{"name":"course_id","type":"bigint(20)","nullable":false,"primary_key":false},{"name":"watched_duration","type":"decimal(10,2)","nullable":false,"primary_key":false},{"name":"total_duration","type":"decimal(10,2)","nullable":false,"primary_key":false},{"name":"watch_percentage","type":"decimal(5,2)","nullable":false,"primary_key":false},{"name":"last_position","type":"decimal(10,2)","nullable":false,"primary_key":false},{"name":"is_completed","type":"tinyint(1)","nullable":false,"primary_key":false},{"name":"completed_date","type":"datetime","nullable":true,"primary_key":false},{"name":"last_updated","type":"datetime","nullable":false,"primary_key":false},{"name":"created_date","type":"datetime","nullable":false,"primary_key":false},{"name":"quiz_id","type":"INT(11)","nullable":false,"primary_key":false},{"name":"question_id","type":"INT(11)","nullable":false,"primary_key":false},{"name":"order_number","type":"INT(11)","nullable":true,"primary_key":false},{"name":"course_id","type":"bigint(20)","nullable":false,"primary_key":false},{"name":"quiz_id","type":"bigint(20)","nullable":false,"primary_key":false},{"name":"student_id","type":"bigint(20) unsigned","nullable":false,"primary_key":false},{"name":"total","type":"bigint(20) unsigned","nullable":false,"primary_key":false},{"name":"status","type":"varchar(45)","nullable":false,"primary_key":false},{"name":"start_date","type":"datetime","nullable":false,"primary_key":false},{"name":"end_date","type":"datetime","nullable":false,"primary_key":false},{"name":"student_id","type":"bigint(20) unsigned","nullable":false,"primary_key":false},{"name":"quiz_id","type":"bigint(20)","nullable":false,"primary_key":false},{"name":"question_id","type":"bigint(20)","nullable":false,"primary_key":false},{"name":"quiz_attempt_id","type":"bigint(20)","nullable":false,"primary_key":false},{"name":"given_answer","type":"longtext","nullable":false,"primary_key":false},{"name":"question_marks","type":"float","nullable":true,"primary_key":false},{"name":"achive_mark","type":"float","nullable":true,"primary_key":false},{"name":"minus_mark","type":"float","nullable":true,"primary_key":false},{"name":"is_correct","type":"boolean","nullable":true,"primary_key":false},{"name":"is_manually_reviewed","type":"boolean","nullable":true,"primary_key":false},{"name":"question_id","type":"bigint(20)","nullable":false,"primary_key":false},{"name":"answer","type":"longtext","nullable":false,"primary_key":false},{"name":"order_number","type":"INT(11)","nullable":true,"primary_key":false},{"name":"is_correct","type":"boolean","nullable":false,"primary_key":false},{"name":"answer_id","type":"bigint(20)","nullable":false,"primary_key":false},{"name":"meta_key","type":"char(32)","nullable":false,"primary_key":false},{"name":"meta_value","type":"longtext","nullable":false,"primary_key":false},{"name":"order_item_name","type":"text","nullable":false,"primary_key":false},{"name":"order_item_type","type":"varchar(200)","nullable":false,"primary_key":false},{"name":"order_id","type":"bigint(20) unsigned","nullable":false,"primary_key":false},{"name":"order_item_id","type":"bigint(20) unsigned","nullable":false,"primary_key":false},{"name":"meta_key","type":"varchar(255)","nullable":true,"primary_key":false},{"name":"meta_value","type":"longtext","nullable":true,"primary_key":false},{"name":"student_id","type":"BIGINT(20)","nullable":false,"primary_key":false},{"name":"course_id","type":"BIGINT(20)","nullable":false,"primary_key":false},{"name":"email","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"subject","type":"TEXT","nullable":false,"primary_key":false},{"name":"message","type":"LONGTEXT","nullable":false,"primary_key":false},{"name":"status","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"name","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"trigger_event","type":"VARCHAR(100)","nullable":false,"primary_key":false},{"name":"webhook_url","type":"TEXT","nullable":false,"primary_key":false},{"name":"http_method","type":"VARCHAR(10)","nullable":false,"primary_key":false},{"name":"data_type","type":"VARCHAR(20)","nullable":false,"primary_key":false},{"name":"data_mapping","type":"LONGTEXT","nullable":true,"primary_key":false},{"name":"status","type":"VARCHAR(20)","nullable":false,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"updated_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_crlms_sessions ( session_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, session_key char(32) NOT NULL, session_value longtext NOT NULL, session_expiry bigint(20) unsigned NOT NULL, PRIMARY KEY (session_id), UNIQUE KEY session_key (session_key) ) $charset_collate; CREATE TABLE wp_crlms_chapter_relationship ( id bigint(20) unsigned NOT NULL auto_increment, course_id INT(11) NOT NULL, chapter_id INT(11) NOT NULL, order_number INT(11) DEFAULT 0, PRIMARY KEY (id), UNIQUE KEY unique_course_chapter (course_id, chapter_id), KEY chapter_id (chapter_id), KEY course_id (course_id) ) $charset_collate; CREATE TABLE wp_crlms_content_relationship ( id bigint(20) unsigned NOT NULL auto_increment, chapter_id INT(11) NOT NULL, content_id INT(11) NOT NULL, content_type VARCHAR(225) NOT NULL, order_number INT(11) DEFAULT 0, PRIMARY KEY (id), UNIQUE KEY unique_chapter_content (chapter_id, content_id, content_type), KEY chapter_id (chapter_id), KEY content_id (content_id) ) $charset_collate; CREATE TABLE wp_crlms_certificate_relationship ( id bigint(20) unsigned NOT NULL auto_increment, course_id INT(11) NOT NULL, certificate_id INT(11) NOT NULL, PRIMARY KEY (id), UNIQUE KEY unique_course_certificate (course_id, certificate_id), KEY course_id (course_id), KEY certificate_id (certificate_id) ) $charset_collate; CREATE TABLE wp_crlms_user_enrollment ( id bigint(20) unsigned NOT NULL auto_increment, user_id bigint(20) NOT NULL, course_id bigint(20) NOT NULL, membership_id bigint(20) default NULL, order_id bigint(20) unsigned NOT NULL DEFAULT 0, status varchar(45) NOT NULL DEFAULT '', progress varchar(45) NOT NULL DEFAULT '', start_date datetime NOT NULL default '0000-00-00 00:00:00', end_date datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (id), KEY user_id (user_id), KEY course_id (course_id), KEY order_id (order_id) ) $charset_collate; CREATE TABLE wp_crlms_earning ( id bigint(20) unsigned NOT NULL auto_increment, membership_id bigint(20) default NULL, course_id bigint(20) default NULL, order_id bigint(20) unsigned NOT NULL DEFAULT 0, status varchar(45) NOT NULL DEFAULT '', start_date datetime NOT NULL default '0000-00-00 00:00:00', end_date datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (id), KEY order_id (order_id) ) $charset_collate; CREATE TABLE wp_crlms_user_progress ( id bigint(20) unsigned NOT NULL auto_increment, enrollment_id bigint(20) NOT NULL, content_id bigint(20) NOT NULL, content_type varchar(45) NOT NULL DEFAULT '', status varchar(45) NOT NULL DEFAULT '', start_date datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (id), KEY enrollment_id (enrollment_id), KEY course_id (content_id) ) $charset_collate; CREATE TABLE wp_crlms_video_progress ( id bigint(20) unsigned NOT NULL auto_increment, user_id bigint(20) NOT NULL, lesson_id bigint(20) NOT NULL, course_id bigint(20) NOT NULL, watched_duration decimal(10,2) NOT NULL DEFAULT 0, total_duration decimal(10,2) NOT NULL DEFAULT 0, watch_percentage decimal(5,2) NOT NULL DEFAULT 0, last_position decimal(10,2) NOT NULL DEFAULT 0, is_completed tinyint(1) NOT NULL DEFAULT 0, completed_date datetime NULL, last_updated datetime NOT NULL default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, created_date datetime NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE KEY user_lesson (user_id, lesson_id), KEY user_id (user_id), KEY lesson_id (lesson_id), KEY course_id (course_id) ) $charset_collate; CREATE TABLE wp_crlms_quiz_questions_relationship ( id bigint(20) unsigned NOT NULL auto_increment, quiz_id INT(11) NOT NULL, question_id INT(11) NOT NULL, order_number INT(11) DEFAULT 0, PRIMARY KEY (id), UNIQUE KEY id (id), KEY quiz_id (quiz_id), KEY question_id (question_id) ) $charset_collate; CREATE TABLE wp_crlms_quiz_attempts ( id bigint(20) unsigned NOT NULL auto_increment, course_id bigint(20) NOT NULL, quiz_id bigint(20) NOT NULL, student_id bigint(20) unsigned NOT NULL DEFAULT 0, total bigint(20) unsigned NOT NULL DEFAULT 0, status varchar(45) NOT NULL DEFAULT '', start_date datetime NOT NULL default '0000-00-00 00:00:00', end_date datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (id), KEY course_id (course_id), KEY quiz_id (quiz_id), KEY student_id (student_id) ) $charset_collate; CREATE TABLE wp_crlms_quiz_attempts_answers ( id bigint(20) unsigned NOT NULL AUTO_INCREMENT, student_id bigint(20) unsigned NOT NULL DEFAULT 0, quiz_id bigint(20) NOT NULL, question_id bigint(20) NOT NULL, quiz_attempt_id bigint(20) NOT NULL, given_answer longtext NOT NULL, question_marks float DEFAULT 0, achive_mark float DEFAULT 0, minus_mark float DEFAULT 0, is_correct boolean NULL DEFAULT 0, is_manually_reviewed boolean NULL DEFAULT 0, PRIMARY KEY (id), KEY quiz_attempt_id (quiz_attempt_id), KEY quiz_id (quiz_id), KEY student_id (student_id) ) $charset_collate; CREATE TABLE wp_crlms_question_answers ( id bigint(20) unsigned NOT NULL AUTO_INCREMENT, question_id bigint(20) NOT NULL, answer longtext NOT NULL, order_number INT(11) DEFAULT 0, is_correct boolean NOT NULL DEFAULT 0, PRIMARY KEY (id), UNIQUE KEY id (id) ) $charset_collate; CREATE TABLE wp_crlms_question_answermeta ( id bigint(20) unsigned NOT NULL AUTO_INCREMENT, answer_id bigint(20) NOT NULL, meta_key char(32) NOT NULL, meta_value longtext NOT NULL, PRIMARY KEY (id), UNIQUE KEY id (id) ) $charset_collate; CREATE TABLE wp_crlms_order_items ( order_item_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, order_item_name text NOT NULL, order_item_type varchar(200) NOT NULL DEFAULT '', order_id bigint(20) unsigned NOT NULL, PRIMARY KEY (order_item_id), KEY order_id (order_id) ) $charset_collate; CREATE TABLE wp_crlms_order_itemmeta ( meta_id bigint(20) unsigned NOT NULL auto_increment, order_item_id bigint(20) unsigned NOT NULL, meta_key varchar(255) default NULL, meta_value longtext NULL, PRIMARY KEY (meta_id), KEY order_item_id (order_item_id), KEY meta_key (meta_key(32)) ) $charset_collate; CREATE TABLE wp_crlms_notifications ( id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, student_id BIGINT(20) NOT NULL, course_id BIGINT(20) NOT NULL, email VARCHAR(255) NOT NULL, subject TEXT NOT NULL, message LONGTEXT NOT NULL, status VARCHAR(50) DEFAULT 'sent', created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY student_id (student_id), KEY course_id (course_id) ) $charset_collate; CREATE TABLE wp_crlms_webhooks ( id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, trigger_event VARCHAR(100) NOT NULL, webhook_url TEXT NOT NULL, http_method VARCHAR(10) NOT NULL DEFAULT 'POST', data_type VARCHAR(20) NOT NULL DEFAULT 'json', data_mapping LONGTEXT, status VARCHAR(20) NOT NULL DEFAULT 'active', created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY trigger_event (trigger_event), KEY status (status) ) $charset_collate; \"; return $tables; } /** * Create roles and capabilities. */ public static function create_roles() { $admin = get_role( 'administrator' );"},{"table_name":"crlms_user_enrollment","full_table_name":"wp_crlms_user_enrollment","description":"Stores crlms user enrollment data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE `wp_crlms_user_enrollment` (\\n  `id` bigint unsigned NOT NULL AUTO_INCREMENT,\\n  `user_id` bigint NOT NULL,\\n  `course_id` bigint NOT NULL,\\n  `membership_id` bigint DEFAULT NULL,\\n  `order_id` bigint unsigned NOT NULL DEFAULT '0',\\n  `status` varchar(45) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',\\n  `progress` varchar(45) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',\\n  `start_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\\n  `end_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\\n  PRIMARY KEY (`id`),\\n  KEY `user_id` (`user_id`),\\n  KEY `course_id` (`course_id`),\\n  KEY `order_id` (`order_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci"},{"table_name":"crlms_user_progress","full_table_name":"wp_crlms_user_progress","description":"Stores crlms user progress data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE `wp_crlms_user_progress` (\\n  `id` bigint unsigned NOT NULL AUTO_INCREMENT,\\n  `enrollment_id` bigint NOT NULL,\\n  `content_id` bigint NOT NULL,\\n  `content_type` varchar(45) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',\\n  `status` varchar(45) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',\\n  `start_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\\n  PRIMARY KEY (`id`),\\n  KEY `enrollment_id` (`enrollment_id`),\\n  KEY `course_id` (`content_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci"},{"table_name":"crlms_video_progress","full_table_name":"wp_crlms_video_progress","description":"Stores crlms video progress data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE `wp_crlms_video_progress` (\\n  `id` bigint unsigned NOT NULL AUTO_INCREMENT,\\n  `user_id` bigint NOT NULL,\\n  `lesson_id` bigint NOT NULL,\\n  `course_id` bigint NOT NULL,\\n  `watched_duration` decimal(10,2) NOT NULL DEFAULT '0.00',\\n  `total_duration` decimal(10,2) NOT NULL DEFAULT '0.00',\\n  `watch_percentage` decimal(5,2) NOT NULL DEFAULT '0.00',\\n  `last_position` decimal(10,2) NOT NULL DEFAULT '0.00',\\n  `is_completed` tinyint(1) NOT NULL DEFAULT '0',\\n  `completed_date` datetime DEFAULT NULL,\\n  `last_updated` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\\n  `created_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,\\n  PRIMARY KEY (`id`),\\n  UNIQUE KEY `user_lesson` (`user_id`,`lesson_id`),\\n  KEY `user_id` (`user_id`),\\n  KEY `lesson_id` (`lesson_id`),\\n  KEY `course_id` (`course_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci"},{"table_name":"crlms_webhooks","full_table_name":"wp_crlms_webhooks","description":"Stores crlms webhooks data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE `wp_crlms_webhooks` (\\n  `id` bigint unsigned NOT NULL AUTO_INCREMENT,\\n  `name` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL,\\n  `trigger_event` varchar(100) COLLATE utf8mb4_unicode_520_ci NOT NULL,\\n  `webhook_url` text COLLATE utf8mb4_unicode_520_ci NOT NULL,\\n  `http_method` varchar(10) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT 'POST',\\n  `data_type` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT 'json',\\n  `data_mapping` longtext COLLATE utf8mb4_unicode_520_ci,\\n  `status` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT 'active',\\n  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,\\n  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\\n  PRIMARY KEY (`id`),\\n  KEY `trigger_event` (`trigger_event`),\\n  KEY `status` (`status`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci"},{"table_name":"linno_telemetry_queue","full_table_name":"wp_linno_telemetry_queue","description":"A job queue table for managing background tasks and scheduled operations.","detection_method":"static","confidence":"high","columns":[],"create_sql":null}],"table_count":20}