Drop files here

SQL upload ( 0 ) x -

Page-related settings Click on the bar to scroll to top of page
Press Ctrl+Enter to execute query Press Enter to execute query
ascending
descending
Order:
Debug SQL
Count
Execution order
Time taken
Order by:
Group queries
Ungroup queries
Collapse Expand Show trace Hide trace Count : Time taken :
Bookmarks
Refresh
Add
No bookmarks
Add bookmark
Options
Set default





Collapse Expand Requery Edit Explain Profiling Bookmark Query failed Database : Queried time :
Untitled *
v Show/Hide tables list View in full-screen Add tables from other databases New page Open page Save page Save page as Delete pages Create table Create relationship Choose column to display Reload Help Angular links / Direct links Snap to grid v Small/Big All Toggle small/big Toggle relationship lines Export schema > Move Menu > Pin text
Number of tables: 0
v materiel audit_log
* id : int(11)
* action : varchar(80)
* module : varchar(100)
* user_id : varchar(20)
* actor_user_pk : int(11)
* actor_no_tentera : varchar(50)
* target_id : int(11)
* target_table : varchar(100)
* old_data : longtext
* new_data : longtext
* changed_fields : longtext
* created_at : timestamp
* ip_address : varchar(45)
* request_method : varchar(10)
* user_agent : varchar(255)
v materiel audit_log_archive
* id : bigint(20)
* source_audit_log_id : int(11)
* action : varchar(80)
* module : varchar(100)
* user_id : varchar(20)
* actor_user_pk : int(11)
* actor_no_tentera : varchar(50)
* target_id : int(11)
* target_table : varchar(100)
* old_data : longtext
* new_data : longtext
* changed_fields : longtext
* created_at : timestamp
* ip_address : varchar(45)
* request_method : varchar(10)
* user_agent : varchar(255)
* archived_at : timestamp
* archive_batch_id : varchar(64)
* archived_by : varchar(80)
* archive_reason : varchar(191)
v materiel audit_trail
* id : int(11)
* table_name : varchar(100)
* record_id : int(11)
* action_type : varchar(30)
* field_name : varchar(100)
* old_value : text
* new_value : text
* old_data : longtext
* new_data : longtext
* changed_fields : longtext
* user_id : varchar(20)
* ip_address : varchar(45)
* module : varchar(100)
* action_scope : varchar(30)
* request_method : varchar(10)
* user_agent : varchar(255)
* created_at : timestamp
v materiel audit_trail_archive
* id : bigint(20)
* source_audit_trail_id : int(11)
* table_name : varchar(100)
* record_id : int(11)
* action_type : varchar(30)
* field_name : varchar(100)
* old_value : text
* new_value : text
* old_data : longtext
* new_data : longtext
* changed_fields : longtext
* user_id : varchar(20)
* ip_address : varchar(45)
* module : varchar(100)
* action_scope : varchar(30)
* request_method : varchar(10)
* user_agent : varchar(255)
* created_at : timestamp
* archived_at : timestamp
* archive_batch_id : varchar(64)
* archived_by : varchar(80)
* archive_reason : varchar(191)
v materiel core_agama
* id : int(11)
* nama_agama : varchar(80)
* created_at : timestamp
* updated_at : timestamp
v materiel core_bangsa
* id : int(11)
* nama_bangsa : varchar(80)
* created_at : timestamp
* updated_at : timestamp
v materiel core_kepakaran
* ID : int(11)
* kekananan : int(11)
* tred : varchar(100)
* pangkat_tred : varchar(120)
* kod_tred : varchar(30)
* kepakaran_nama : varchar(100)
* pangkat_kepakaran : varchar(120)
* kepakaran_kod : varchar(20)
v materiel core_kepakaran_tred_rank
* id : int(11)
* tred : varchar(100)
* pkt_nama : varchar(50)
* created_at : timestamp
v materiel core_login_attempts
* id : int(11)
* attempt_key : char(64)
* identifier : varchar(30)
* ip_address : varchar(45)
* user_agent : varchar(255)
* success : tinyint(1)
* created_at : timestamp
v materiel core_no_tentera
* ID : int(11)
* kekananan : int(11)
* kategori : varchar(50)
* kategori_short : varchar(100)
* pengambilan : varchar(50)
* jantina : varchar(20)
* jum_digit : int(11)
* no_hadapan : varchar(10)
v materiel core_pangkat
* ID : int(11)
* kekananan : int(11)
* pkt_full : varchar(100)
* pkt_short : varchar(50)
* pkt_nama : varchar(50)
* gelaran : varchar(50)
* pengambilan : varchar(20)
* kategori_pangkat : varchar(30)
* grup_pangkat : varchar(20)
* pangkat : varchar(10)
* deleted_at : datetime
* created_at : timestamp
* updated_at : timestamp
v materiel core_profile_picture_backup
* id : int(11)
* user_id : int(11)
* nombor_tentera : varchar(50)
* nama : varchar(255)
* old_profile_picture : varchar(255)
* backup_reason : varchar(255)
* backup_at : datetime
v materiel core_profile_posting_history
* ID : int(11)
* user_id : varchar(50)
* movement_type : enum('UNIT','BRANCH','SECTION')
* previous_unit : varchar(100)
* new_unit : varchar(100)
* previous_skn_caw_bhg : varchar(100)
* new_skn_caw_bhg : varchar(100)
* previous_bahagian : varchar(120)
* new_bahagian : varchar(120)
* kuasa_bertukar_keluar_unit : varchar(255)
* tarikh_melapor_asal : date
* final_tarikh_melapor : date
* updated_by : varchar(50)
* updated_at : datetime
* ip_address : varchar(45)
* user_agent : varchar(255)
v materiel core_profile_posting_postponement
* ID : int(11)
* posting_history_id : int(11)
* sequence_no : int(11)
* kuasa_penangguhan : varchar(255)
* tarikh_melapor_baru : date
* created_at : datetime
v materiel core_profile_rank_history
* ID : int(11)
* user_id : varchar(50)
* previous_pangkat : varchar(255)
* new_pangkat : varchar(255)
* kuasa_kenaikan_pangkat : varchar(255)
* tarikh_kuatkuasa : date
* tarikh_pemakaian_pangkat : date
* updated_by : varchar(50)
* updated_at : datetime
* system_action : varchar(500)
* ip_address : varchar(45)
* user_agent : varchar(255)
v materiel core_user
* ID : int(11)
* nombor_tentera : varchar(255)
* pangkat : varchar(255)
* pangkat_id : int(11)
* nama : varchar(255)
* nama_panggilan : varchar(50)
* call_sign : varchar(50)
* email : varchar(255)
* nombor_telefon : varchar(20)
* email_verified_at : datetime
* email_verified_value : varchar(255)
* email_verification_token_hash : varchar(64)
* email_verification_expires_at : datetime
* email_verification_last_sent_at : datetime
* email_verification_grace_used_at : datetime
* password : varchar(255)
* role : enum('admin','user','pentadbir_markas','mto')
* status : enum('active','inactive')
* unit : varchar(50)
* unit_id : int(11)
* skn_caw_bhg : varchar(100)
* branch_id : int(11)
* reset_token_hash : varchar(64)
* reset_token_expires : datetime
* alamat : text
* alamat_keluarga_lokasi : text
* alamat_keluarga_poskod : varchar(10)
* alamat_keluarga_daerah : varchar(100)
* alamat_keluarga_negeri : varchar(100)
* alamat_semasa_lokasi : text
* alamat_semasa_poskod : varchar(10)
* alamat_semasa_daerah : varchar(100)
* alamat_semasa_negeri : varchar(100)
* tarikh_lahir : varchar(10)
* tarikh_tauliah : date
* status_perkahwinan : enum('BERKAHWIN','BUJANG','DUDA','JANDA')
* agama : varchar(100)
* bangsa : varchar(100)
* jantina : enum('LELAKI','PEREMPUAN')
* profile_picture : varchar(255)
* profile_identity_locked : tinyint(1)
* jawatan : varchar(50)
* bahagian : varchar(100)
* section_id : int(11)
* tred : varchar(100)
* kepakaran : varchar(100)
* allow_maklumat_lesen : tinyint(1)
* updated_at : timestamp
* mapping_verified_at : datetime
v materiel core_user_roles
* id : int(11)
* user_id : int(11)
* role_code : varchar(50)
* status : enum('active','inactive')
* assigned_by : varchar(20)
* assigned_at : timestamp
* revoked_by : varchar(20)
* revoked_at : datetime
* unit_id : int(11)
* active_user_id : int(11)
* active_role_code : varchar(50)
* active_unit_scope_key : int(11)
v materiel core_user_roles_archive
* id : int(11)
* user_id : int(11)
* role_code : varchar(50)
* status : enum('active','inactive')
* assigned_by : varchar(20)
* assigned_at : timestamp
* revoked_by : varchar(20)
* revoked_at : datetime
* unit_id : int(11)
* archived_at : timestamp
* archive_reason : varchar(140)
v materiel fleet_component_category
* id : int(11)
* component_key : varchar(30)
* component_name : varchar(80)
* description : varchar(255)
* default_unit : varchar(30)
* allows_multiple : tinyint(1)
* write_mode : enum('LEGACY','NATIVE')
* is_active : tinyint(1)
* created_by : varchar(50)
* updated_by : varchar(50)
* deleted_at : datetime
* deleted_by : varchar(50)
* created_at : timestamp
* updated_at : timestamp
v materiel fleet_component_field_definition
* id : bigint(20) unsigned
* component_category_id : int(11)
* field_key : varchar(60)
* field_label : varchar(100)
* field_type : enum('TEXT','NUMBER','DATE','BOOLEAN','SELECT','TEXTAREA')
* unit_label : varchar(30)
* is_required : tinyint(1)
* is_searchable : tinyint(1)
* display_order : smallint(5) unsigned
* validation_json : longtext
* options_json : longtext
* is_active : tinyint(1)
* created_by : varchar(50)
* updated_by : varchar(50)
* created_at : timestamp
* updated_at : timestamp
v materiel fleet_component_field_value
* id : bigint(20) unsigned
* component_id : bigint(20) unsigned
* field_definition_id : bigint(20) unsigned
* value_text : text
* value_number : decimal(15,4)
* value_date : date
* value_boolean : tinyint(1)
* created_by : varchar(50)
* updated_by : varchar(50)
* created_at : timestamp
* updated_at : timestamp
v materiel fleet_component_master
* id : bigint(20) unsigned
* component_uid : char(64)
* kenderaan_id : int(11)
* component_category_id : int(11)
* component_key : varchar(30)
* component_name : varchar(120)
* position_label : varchar(80)
* specification : varchar(255)
* quantity : decimal(12,2)
* unit_label : varchar(30)
* source_table : varchar(80)
* source_id : int(11)
* metadata_json : longtext
* source_mode : enum('LEGACY','NATIVE')
* legacy_identity_key : char(64)
* component_status : varchar(30)
* installed_at : date
* removed_at : date
* replaced_component_id : bigint(20) unsigned
* notes : text
* version_no : int(10) unsigned
* created_by : varchar(50)
* updated_by : varchar(50)
* deleted_at : datetime
* deleted_by : varchar(50)
* created_at : timestamp
* updated_at : timestamp
v materiel fleet_component_recovery_archive
* id : bigint(20) unsigned
* migration_key : varchar(100)
* component_id : bigint(20) unsigned
* issue_code : varchar(80)
* component_uid : char(64)
* old_specification : varchar(255)
* old_quantity : decimal(12,2)
* old_metadata_json : longtext
* old_component_status : varchar(30)
* component_created_at : timestamp
* component_updated_at : timestamp
* recovered_specification : varchar(255)
* recovered_quantity : decimal(12,2)
* evidence_source : varchar(255)
* evidence_checksum : char(64)
* recovery_status : varchar(30)
* archived_at : timestamp
v materiel fleet_component_retirement_archive
* id : bigint(20) unsigned
* archive_key : char(64)
* retirement_key : varchar(100)
* record_type : enum('LEGACY_ROW','CANONICAL_COMPONENT')
* source_table : varchar(80)
* source_pk : varchar(64)
* kenderaan_id : int(11)
* canonical_component_id : bigint(20) unsigned
* canonical_component_ids_json : longtext
* record_payload_json : longtext
* payload_sha256 : char(64)
* archived_at : timestamp
v materiel fleet_kenderaan
* ID : int(11)
* no_daftar : varchar(50)
* no_daftar_awam : varchar(50)
* kategori_kenderaan_id : int(11)
* kategori_kenderaan : varchar(50)
* jenis_kenderaan_id : int(11)
* jenis_kenderaan : varchar(50)
* model_kenderaan : varchar(50)
* model_kenderaan_spanco_id : int(11)
* jenis_minyak : varchar(20)
* unit_id : int(11)
* unit : varchar(50)
* nombor_pengenalan : varchar(100)
* nombor_pendaftaran_aset : varchar(100)
* tmk : date
* jenis_transmisi : varchar(20)
* tarikh_manufacture : year(4)
* tahun_pengeluar : year(4)
* no_chasis : varchar(100)
* no_enjin : varchar(100)
* ciri_istimewa : varchar(150)
* tugas_khas : varchar(150)
* had_min_pemandu : int(11)
* had_max_penumpang : int(11)
* harga_perolehan : decimal(15,2)
* harga_perolehan_backup_20260519 : varchar(80)
* harga_semasa : varchar(50)
* created_by : varchar(50)
* updated_by : varchar(50)
* created_at : timestamp
* updated_at : timestamp
* status_kenderaan : varchar(30)
* scrap_by : varchar(50)
* scrap_at : timestamp
* deleted_at : datetime
* deleted_by : varchar(50)
* is_deleted : tinyint(1)
v materiel fleet_maintenance_status
* ID : int(11)
* kenderaan_id : int(11)
* komponen : varchar(30)
* component_category_id : int(11)
* component_id : bigint(20) unsigned
* tarikh_pasang : date
* odo_pasang : int(11)
* tarikh_due : date
* odo_due : int(11)
* tarikh_tukar_sebenar : date
* odo_tukar_sebenar : int(11)
* wwyy : varchar(10)
* tarikh_manufacturing : date
* kondisi : varchar(30)
* status : enum('OK','DUE','OVERDUE','DONE')
* catatan : varchar(255)
* created_at : timestamp
* created_by : varchar(20)
* updated_at : timestamp
* updated_by : varchar(20)
v materiel fleet_rekod_pegangan
* id : int(11)
* unit_id : int(11)
* created_by : varchar(20)
* created_at : timestamp
* updated_by : varchar(20)
* updated_at : timestamp
v materiel fleet_rekod_pegangan_detail
* id : int(11)
* pegangan_id : int(11)
* kategori_kenderaan_id : int(11)
* jumlah : int(11)
v materiel fleet_repair
* ID : int(11)
* kenderaan_id : int(11)
* pembaikan : text
* nilai_pembaikan : decimal(15,2)
* odometer_masuk : int(11)
* odometer_keluar : int(11)
* no_rujuk_kewpa10 : varchar(120)
* tarikh_kewpa10 : date
* kelulusan : varchar(180)
* tarikh_kelulusan : date
* tarikh_masuk_bengkel : date
* tarikh_keluar_bengkel : date
* nama_bengkel : varchar(150)
* tarikh_waranti_mula : date
* tarikh_waranti_tamat : date
* penilaian_bengkel : tinyint(1)
* ulasan_pengguna : text
* created_by : varchar(20)
* updated_by : varchar(20)
* created_at : timestamp
* updated_at : timestamp
* deleted_at : datetime
* deleted_by : varchar(50)
* is_deleted : tinyint(1)
v materiel fleet_repair_kewpa10
* id : int(11)
* fleet_repair_id : int(11)
* sequence_no : smallint(5) unsigned
* no_rujuk_kewpa10 : varchar(120)
* tarikh_kewpa10 : date
* created_by : varchar(20)
* updated_by : varchar(20)
* created_at : timestamp
* updated_at : timestamp
v materiel fleet_repair_vehicle_snapshot
* id : int(11)
* pembaikan_kenderaan_id : int(11)
* legacy_no_kenderaan : varchar(50)
* kenderaan_id : int(11)
* created_at : timestamp
v materiel jawatan_authority_map
* id : int(11)
* jawatan_id : int(11)
* authority_tag_id : int(11)
* is_active : tinyint(1)
* created_at : datetime
* updated_at : datetime
* active_authority_map_key : char(32)
v materiel jawatan_authority_map_archive
* id : int(11)
* jawatan_id : int(11)
* authority_tag_id : int(11)
* is_active : tinyint(1)
* created_at : datetime
* updated_at : datetime
* canonical_id : int(11)
* archived_at : timestamp
* archive_reason : varchar(140)
v materiel jawatan_authority_tag
* id : int(11)
* tag_key : varchar(80)
* tag_label : varchar(120)
* tag_description : varchar(255)
* is_active : tinyint(1)
* created_at : datetime
* updated_at : datetime
* active_tag_key : char(32)
v materiel jawatan_authority_tag_archive
* id : int(11)
* tag_key : varchar(80)
* tag_label : varchar(120)
* tag_description : varchar(255)
* is_active : tinyint(1)
* created_at : datetime
* updated_at : datetime
* canonical_id : int(11)
* archived_at : timestamp
* archive_reason : varchar(140)
v materiel jawatan_conflict_log
* id : int(11)
* jawatan_id : int(11)
* unit_id : int(11)
* branch_id : int(11)
* section_id : int(11)
* conflict_type : varchar(80)
* conflict_status : enum('OPEN','RESOLVED')
* resolved_by : varchar(50)
* resolved_at : datetime
* resolution_note : varchar(255)
* created_at : datetime
* updated_at : datetime
v materiel jawatan_master
* id : int(11)
* jawatan_full : varchar(180)
* jawatan_short : varchar(60)
* jawatan_full_key : varchar(180)
* jawatan_short_key : varchar(60)
* scope_level : enum('UNIT_SINGLE','BRANCH_SINGLE','SECTION_SINGLE','MULTIPLE')
* status : enum('ACTIVE','INACTIVE','MERGED')
* is_active : tinyint(1)
* merged_into_jawatan_id : int(11)
* pending_duplicate_review : tinyint(1)
* duplicate_review_note : varchar(255)
* created_at : datetime
* updated_at : datetime
v materiel jawatan_merge_log
* id : int(11)
* source_jawatan_id : int(11)
* target_jawatan_id : int(11)
* merged_by : varchar(50)
* merged_at : datetime
* merge_reason : varchar(255)
* affected_user_count : int(11)
* affected_scope_count : int(11)
* affected_authority_count : int(11)
* created_at : datetime
v materiel jawatan_scope
* id : int(11)
* jawatan_id : int(11)
* unit_id : int(11)
* branch_id : int(11)
* section_id : int(11)
* scope_template_key : varchar(180)
* is_template_based : tinyint(1)
* is_active : tinyint(1)
* created_at : datetime
* updated_at : datetime
v materiel jawatan_user_assignment
* id : int(11)
* user_id : varchar(50)
* jawatan_id : int(11)
* unit_id : int(11)
* branch_id : int(11)
* section_id : int(11)
* is_primary : tinyint(1)
* priority_no : int(11)
* status : enum('ACTIVE','ACTING','COVERING','TEMPORARY','ENDED','REJECTED','MERGED')
* effective_start : date
* effective_end : date
* ended_at : datetime
* ended_by : varchar(50)
* end_reason : varchar(255)
* created_at : datetime
* updated_at : datetime
v materiel mh_ai_feedback
* id : int(11)
* user_id : varchar(30)
* question : text
* response_summary : text
* rating : enum('Helpful','Not Helpful')
* created_at : timestamp
v materiel mh_answers
* id : int(11)
* question_id : int(11)
* answer : text
* is_verified : tinyint(1)
* verification_level : tinyint(1)
* verified_by : varchar(30)
* verified_at : datetime
* helpful_count : int(11)
* created_by : varchar(30)
* created_at : timestamp
v materiel mh_bookmarks
* id : int(11)
* user_id : varchar(30)
* source_type : varchar(40)
* source_id : int(11)
* created_at : timestamp
v materiel mh_broadcasts
* id : int(11)
* title : varchar(255)
* message : text
* status : enum('Draft','Published','Archived')
* created_by : varchar(30)
* created_at : timestamp
v materiel mh_clarifications
* id : int(11)
* title : varchar(255)
* content : text
* category : varchar(80)
* tags : varchar(500)
* status : enum('Draft','Published','Archived')
* created_by : varchar(30)
* created_at : timestamp
* updated_at : datetime
v materiel mh_comments
* id : int(11)
* source_type : varchar(40)
* source_id : int(11)
* comment : text
* created_by : varchar(30)
* created_at : timestamp
v materiel mh_contributor_points
* id : int(11)
* user_id : varchar(30)
* source_type : varchar(40)
* source_id : int(11)
* points : int(11)
* reason : varchar(255)
* created_at : timestamp
v materiel mh_documents
* id : int(11)
* title : varchar(255)
* category : varchar(80)
* tags : varchar(500)
* keywords : text
* description : text
* file_name : varchar(255)
* file_path : varchar(500)
* mime_type : varchar(120)
* file_size : int(11)
* version : varchar(30)
* effective_date : date
* status : enum('Current','Superseded','Archived')
* replacement_document_id : int(11)
* is_must_read : tinyint(1)
* must_read_audience : varchar(80)
* must_read_unit : varchar(120)
* total_views : int(11)
* total_bookmarks : int(11)
* created_by : varchar(30)
* created_at : timestamp
* updated_by : varchar(30)
* updated_at : datetime
* deleted_at : datetime
* deleted_by : varchar(50)
* is_deleted : tinyint(1)
v materiel mh_document_highlights
* id : int(11)
* document_id : int(11)
* page_number : int(11)
* statement_text : text
* normalized_text : text
* text_hash : char(64)
* rects_json : longtext
* created_by : varchar(30)
* created_at : timestamp
v materiel mh_document_reads
* id : int(11)
* document_id : int(11)
* user_id : varchar(30)
* opened_at : datetime
* acknowledged_at : datetime
* ip_address : varchar(80)
* reading_status : enum('Not Started','In Progress','Completed')
* understanding_status : enum('Pending Verification','Understood','Not Understood')
* understanding_note : text
* not_understood_reason : varchar(120)
* document_version : varchar(30)
* total_pages : int(11)
* pages_completed : int(11)
* last_page_number : int(11)
* resume_page_number : int(11)
* total_read_seconds : int(11)
* grace_started_at : datetime
* grace_until : datetime
* forced_at : datetime
* completed_at : datetime
* updated_at : datetime
v materiel mh_document_read_events
* id : int(11)
* document_id : int(11)
* user_id : varchar(30)
* document_version : varchar(30)
* event_type : varchar(80)
* event_message : varchar(500)
* page_number : int(11)
* event_payload : longtext
* session_token : char(64)
* ip_address : varchar(80)
* user_agent_hash : char(64)
* created_at : timestamp
v materiel mh_document_read_pages
* id : int(11)
* document_id : int(11)
* user_id : varchar(30)
* document_version : varchar(30)
* page_number : int(11)
* first_seen_at : datetime
* last_seen_at : datetime
* dwell_seconds : int(11)
* is_completed : tinyint(1)
* completed_at : datetime
* session_token : char(64)
* created_at : timestamp
* updated_at : datetime
v materiel mh_document_read_reminders
* id : int(11)
* document_id : int(11)
* user_id : varchar(30)
* document_version : varchar(30)
* reminder_count : int(11)
* first_shown_at : datetime
* last_shown_at : datetime
* last_dismissed_at : datetime
* next_allowed_at : datetime
* force_after : datetime
* created_at : timestamp
* updated_at : datetime
v materiel mh_document_versions
* id : int(11)
* document_id : int(11)
* version : varchar(30)
* change_note : text
* file_name : varchar(255)
* file_path : varchar(500)
* created_by : varchar(30)
* created_at : timestamp
v materiel mh_document_view_sessions
* id : int(11)
* document_id : int(11)
* user_id : varchar(30)
* session_token : char(64)
* opened_at : datetime
* last_seen_at : datetime
* closed_at : datetime
* ip_address : varchar(80)
* user_agent_hash : char(64)
v materiel mh_faq
* id : int(11)
* question : text
* answer : text
* source_type : varchar(60)
* source_id : int(11)
* status : enum('Draft','Published','Archived')
* created_by : varchar(30)
* created_at : timestamp
v materiel mh_notifications
* id : int(11)
* user_id : varchar(30)
* target_audience : varchar(80)
* title : varchar(255)
* message : text
* source_type : varchar(40)
* source_id : int(11)
* is_read : tinyint(1)
* created_by : varchar(30)
* created_at : timestamp
v materiel mh_questions
* id : int(11)
* document_id : int(11)
* question : text
* additional_reference : text
* question_type : varchar(40)
* selected_statement : text
* selected_page : int(11)
* selected_source : varchar(40)
* status : enum('Open','Answered','Verified','Closed')
* verified_answer_id : int(11)
* verification_level : tinyint(1)
* verified_by : varchar(30)
* verified_at : datetime
* verification_reason : text
* total_views : int(11)
* like_count : int(11)
* created_by : varchar(30)
* created_at : timestamp
* updated_at : datetime
v materiel mh_question_likes
* id : int(11)
* question_id : int(11)
* user_id : varchar(30)
* created_at : timestamp
v materiel mh_search_logs
* id : int(11)
* user_id : varchar(30)
* query_text : varchar(255)
* source_area : varchar(50)
* result_count : int(11)
* created_at : timestamp
v materiel mh_sharing
* id : int(11)
* title : varchar(255)
* category : varchar(80)
* content : text
* status : enum('Draft','Pending Review','Published','Archived','Rejected')
* like_count : int(11)
* comment_count : int(11)
* created_by : varchar(30)
* created_at : timestamp
* reviewed_by : varchar(30)
* reviewed_at : datetime
v materiel mh_verification_history
* id : int(11)
* question_id : int(11)
* answer_id : int(11)
* version_no : int(11)
* verification_level : tinyint(1)
* verified_by : varchar(30)
* reason : text
* created_at : timestamp
v materiel pakaian_audit_access_window
* id : int(11)
* opened_by : int(11)
* start_at : datetime
* end_at : datetime
* reason : text
* status : enum('ACTIVE','EXPIRED','CLOSED')
* closed_by : int(11)
* closed_at : datetime
* close_reason : text
* created_at : datetime
v materiel pakaian_item
* id : int(11)
* kategori_id : int(11)
* sub_no_pakaian : varchar(10)
* nama_pakaian : varchar(150)
* pangkat : varchar(40)
* jantina : enum('ALL','BOTH','LELAKI','PEREMPUAN')
* agama : varchar(80)
* bangsa : varchar(80)
* kategori_pangkat : varchar(150)
* kelayakan_tred : varchar(180)
* kelayakan_kepakaran : varchar(180)
* kelayakan_bekalan : varchar(80)
* image_path : varchar(255)
* is_active : tinyint(1)
* created_by : varchar(30)
* updated_by : varchar(30)
* created_at : timestamp
* updated_at : timestamp
v materiel pakaian_item_component
* id : int(11)
* pakaian_item_id : int(11)
* component_name : varchar(80)
* size_options : text
* skala : int(11)
* is_required : tinyint(1)
* sort_order : int(11)
* is_active : tinyint(1)
* created_by : varchar(30)
* updated_by : varchar(30)
* created_at : timestamp
* updated_at : timestamp
v materiel pakaian_kategori
* id : int(11)
* no_pakaian : varchar(10)
* kategori_pakaian : varchar(120)
* is_active : tinyint(1)
* created_at : timestamp
* updated_at : timestamp
v materiel pakaian_maklumat_audit_log
* id : int(11)
* user_id : int(11)
* nombor_tentera : varchar(50)
* pakaian_item_id : int(11)
* pakaian_item_name : varchar(160)
* component_id : int(11)
* component_key : varchar(120)
* component_name : varchar(120)
* old_size : varchar(40)
* new_size : varchar(40)
* action_type : varchar(30)
* audit_message : varchar(255)
* ip_address : varchar(45)
* user_agent : varchar(255)
* created_by : varchar(50)
* created_at : timestamp
v materiel pakaian_maklumat_user
* id : int(11)
* user_id : int(11)
* nombor_tentera : varchar(50)
* pakaian_item_id : int(11)
* component_id : int(11)
* component_key : varchar(120)
* component_name : varchar(120)
* selected_size : varchar(40)
* created_by : varchar(50)
* updated_by : varchar(50)
* created_at : timestamp
* updated_at : timestamp
v materiel pakaian_permohonan
* id : int(11)
* request_no : varchar(40)
* no_bpsi : varchar(80)
* user_id : int(11)
* pemohon_user_id : int(11)
* submitted_by_user_id : int(11)
* wakil_user_id : int(11)
* wakil_authorization_id : int(11)
* is_wakil : tinyint(1)
* pemohon_nama : varchar(180)
* pemohon_no_tentera_snapshot : varchar(50)
* pemohon_pangkat : varchar(80)
* pemohon_unit : varchar(180)
* submitted_by_nama : varchar(180)
* submitted_by_no_tentera : varchar(50)
* wakil_nama : varchar(180)
* wakil_no_tentera : varchar(50)
* wakil_pangkat : varchar(80)
* wakil_jawatan : varchar(180)
* pemohon_no_tentera : varchar(30)
* nama : varchar(255)
* pangkat : varchar(80)
* pangkat_group : varchar(30)
* kategori_pangkat : varchar(80)
* jantina : enum('L','P','')
* unit : varchar(100)
* bahagian : varchar(120)
* tred : varchar(120)
* kepakaran : varchar(120)
* status : enum('DRAFT','SUBMITTED','APPROVED','REJECTED','RESERVED','ISSUED','PENDING_RECEIVE','OVERDUE_RECEIVE','RECEIVED','CANCELLED','CLOSED')
* created_by : varchar(30)
* updated_by : varchar(30)
* created_at : timestamp
* updated_at : timestamp
* deleted_at : datetime
* deleted_by : varchar(50)
* is_deleted : tinyint(1)
v materiel pakaian_permohonan_attachment
* id : int(11)
* permohonan_id : int(11)
* component_row_id : int(11)
* original_file_name : varchar(255)
* stored_file_name : varchar(255)
* file_path : varchar(500)
* file_type : varchar(120)
* file_size : int(11)
* status : enum('ACTIVE','REMOVED')
* uploaded_by : int(11)
* uploaded_at : datetime
* removed_by : int(11)
* removed_at : datetime
* remove_reason : text
v materiel pakaian_permohonan_item
* id : int(11)
* permohonan_id : int(11)
* pakaian_item_id : int(11)
* kategori_pakaian : varchar(120)
* sub_no_pakaian : varchar(10)
* nama_pakaian : varchar(150)
* size_baju : varchar(30)
* size_seluar : varchar(30)
* size_kasut : varchar(30)
* created_at : timestamp
v materiel pakaian_permohonan_item_component
* id : int(11)
* permohonan_item_id : int(11)
* permohonan_id : int(11)
* pakaian_item_id : int(11)
* component_id : int(11)
* component_name : varchar(80)
* selected_size : varchar(40)
* qty_dimohon : int(11)
* sebab_permohonan : varchar(180)
* catatan_permohonan : text
* baki_sedia_ada : int(11)
* qty_diluluskan : int(11)
* catatan_pelulus : text
* qty_reserved : int(11)
* reserved_at : datetime
* reserved_by : int(11)
* reservation_status : enum('NONE','RESERVED','RELEASED','CONSUMED')
* qty_diterima : int(11)
* catatan_penerimaan : text
* created_at : timestamp
v materiel pakaian_permohonan_reason
* id : int(11)
* reason_name : varchar(180)
* description : text
* requires_attachment : tinyint(1)
* is_active : tinyint(1)
* sort_order : int(11)
* created_by : int(11)
* created_at : datetime
* updated_by : int(11)
* updated_at : datetime
v materiel pakaian_permohonan_timeline
* id : int(11)
* permohonan_id : int(11)
* action : varchar(80)
* description : text
* performed_by : int(11)
* performed_role : varchar(80)
* metadata_json : longtext
* created_at : datetime
v materiel pakaian_perolehan_allocation
* id : int(11)
* batch_id : int(11)
* parent_unit_id : int(11)
* allocated_qty : int(11)
* reserve_percent : decimal(5,2)
* reserve_qty : int(11)
* operational_qty : int(11)
* current_qty : int(11)
* reserve_status : enum('ACTIVE_RESERVE','RELEASED_TO_OPERATIONAL','NO_RESERVE')
* fifo_sequence : int(11)
* is_active : tinyint(1)
* created_by : varchar(30)
* updated_by : varchar(30)
* created_at : timestamp
* updated_at : timestamp
v materiel pakaian_perolehan_batch
* id : int(11)
* pakaian_item_id : int(11)
* component_id : int(11)
* saiz : varchar(80)
* batch_no : varchar(80)
* pembekal : varchar(160)
* rujukan_perolehan : varchar(160)
* total_stok : int(11)
* tarikh_perolehan : date
* tarikh_terima : date
* tahun_perolehan : int(4)
* spesifikasi_ringkas : varchar(255)
* catatan_spec : text
* is_active : tinyint(1)
* created_by : varchar(30)
* updated_by : varchar(30)
* created_at : timestamp
* updated_at : timestamp
v materiel pakaian_perolehan_transaksi
* id : int(11)
* allocation_id : int(11)
* batch_id : int(11)
* parent_unit_id : int(11)
* pakaian_item_id : int(11)
* component_id : int(11)
* jenis_transaksi : enum('ALLOCATE','KELUAR_OPERATIONAL','KELUAR_RESERVE','MASUK_SEMULA','PELARASAN','RESERVE_RELEASE','AUTO_RESERVE_RELEASE')
* kuantiti : int(11)
* baki_sebelum : int(11)
* baki_selepas : int(11)
* operational_sebelum : int(11)
* operational_selepas : int(11)
* reserve_sebelum : int(11)
* reserve_selepas : int(11)
* rujukan : varchar(160)
* catatan : text
* created_by : varchar(30)
* created_at : timestamp
v materiel pakaian_running_number
* id : int(11)
* module_code : varchar(20)
* unit_code : varchar(50)
* running_year : int(11)
* running_month : int(11)
* last_number : int(11)
* updated_at : datetime
v materiel pakaian_stock_forecast
* forecast_id : bigint(20)
* pakaian_item_id : int(11)
* kategori_pakaian : varchar(120)
* sub_no_pakaian : varchar(10)
* nama_pakaian : varchar(150)
* size_baju : varchar(30)
* size_seluar : varchar(30)
* size_kasut : varchar(30)
* unit : varchar(100)
* pangkat_group : varchar(30)
* jantina : enum('L','P','')
* tred : varchar(120)
* kepakaran : varchar(120)
* request_date : date
* request_month : varchar(7)
* total_request_line : bigint(21)
* total_quantity : bigint(21)
v materiel pakaian_stok_lokasi
* id : int(11)
* parent_unit_id : int(11)
* nama_lokasi : varchar(120)
* bangunan : varchar(120)
* bilik : varchar(120)
* rak : varchar(80)
* bin : varchar(80)
* catatan : varchar(255)
* is_active : tinyint(1)
* created_by : varchar(30)
* updated_by : varchar(30)
* created_at : timestamp
* updated_at : timestamp
v materiel pakaian_stok_lokasi_allocation
* id : int(11)
* perolehan_allocation_id : int(11)
* batch_id : int(11)
* parent_unit_id : int(11)
* pakaian_item_id : int(11)
* component_id : int(11)
* lokasi_id : int(11)
* qty_lokasi : int(11)
* catatan : varchar(255)
* is_active : tinyint(1)
* created_by : varchar(30)
* updated_by : varchar(30)
* created_at : timestamp
* updated_at : timestamp
v materiel pakaian_wakil_authorization
* id : int(11)
* pemohon_user_id : int(11)
* wakil_user_id : int(11)
* scope : enum('MOHON','TERIMA','MOHON_TERIMA')
* status : enum('ACTIVE','REVOKED','EXPIRED')
* valid_from : date
* valid_until : date
* catatan : text
* created_by : int(11)
* created_at : datetime
* revoked_by : int(11)
* revoked_at : datetime
* revoke_reason : text
v materiel pemandu
* ID : int(11)
* core_user_id : int(11)
* user_id : varchar(255)
* gambar : varchar(255)
* taraf_kesihatan : varchar(50)
* tarikh_tamat_kesihatan : date
* status : enum('AKTIF','TIDAK AKTIF','POSTING','TAMAT')
* catatan : text
* self_registration_status : enum('PENDING','VERIFIED','NEED_CORRECTION','NOT_RELATED','REJECTED','EXPIRED')
* verification_status : enum('PENDING','VERIFIED','NEED_CORRECTION','NOT_RELATED','REJECTED','EXPIRED')
* rejection_category : enum('NEED_CORRECTION','NOT_RELATED','REJECTED')
* last_verified_snapshot : longtext
* last_resubmit_snapshot : longtext
* last_modified_at : datetime
* last_modified_by : varchar(20)
* self_registered_at : datetime
* self_registration_block_until : datetime
* verified_by : varchar(50)
* verified_at : datetime
* rejected_by : varchar(50)
* rejected_at : datetime
* reject_remark : varchar(500)
* resubmitted_at : datetime
* rejection_reason : varchar(500)
* created_at : timestamp
* updated_at : timestamp
* deleted_at : datetime
* deleted_by : varchar(50)
* created_by : varchar(50)
* updated_by : varchar(50)
v materiel pemandu_bat_b3017
* ID : int(11)
* pemandu_id : int(11)
* no_bat_b3017 : varchar(100)
* tarikh_tamat : date
* status : varchar(50)
v materiel pemandu_bat_d41
* ID : int(11)
* pemandu_id : int(11)
* jenis : enum('PENUH','TERHAD')
* kategori : varchar(20)
* status : varchar(50)
* no_bat_d41 : varchar(100)
* tarikh_tamat : date
* kelas : varchar(100)
* kelayakan_kelas_f : varchar(150)
v materiel pemandu_kemahiran_khas
* ID : int(11)
* pemandu_id : int(11)
* no_tentera : varchar(20)
* nama_pemandu : varchar(255)
* jenis : varchar(100)
* jenis_kemahiran : varchar(100)
* jenis_sijil : varchar(20)
* kelas_lesen : varchar(10)
* no_sijil : varchar(100)
* fail_sijil : varchar(255)
* file_name : varchar(255)
* file_path : varchar(255)
* uploaded_at : datetime
* updated_at : datetime
v materiel pemandu_lesen_awam
* ID : int(11)
* pemandu_id : int(11)
* kelas_lesen : varchar(100)
* no_siri_lesen : varchar(100)
* no_jpjl6 : varchar(100)
* tarikh_tamat : date
v materiel pemandu_spanco
* ID : int(11)
* pemandu_id : int(11)
* status : varchar(80)
* permohonan_sijil : varchar(150)
* no_sijil : varchar(100)
* tarikh_tamat : date
* had_kawasan : varchar(150)
* perbah_pendaftaran : varchar(200)
* perbah_pembatalan : varchar(200)
* permohonan_luar_had_pengguna : varchar(150)
* permohonan_luar_had_fleet : varchar(150)
* keputusan_sismat : varchar(100)
* rujuk_sismat : varchar(200)
v materiel pemandu_unit_admin
* ID : int(11)
* unit_short : varchar(50)
* nombor_tentera : varchar(50)
* created_by : varchar(50)
* created_at : timestamp
* updated_at : timestamp
v materiel ref_jenis_kenderaan
* id : int(11)
* kategori_id : int(11)
* jenis : varchar(150)
* kasting_tahun : varchar(50)
* kasting_mileage : varchar(50)
v materiel ref_jenis_tayar
* ID : int(11)
* kod : varchar(10)
* jenis_tayar : varchar(100)
* maksud : varchar(150)
v materiel ref_kategori_filter
* id : int(11)
* kategori_filter : varchar(50)
* created_at : timestamp
v materiel ref_kategori_kenderaan
* ID : int(11)
* kategori : varchar(100)
v materiel ref_kategori_komponen
* id : int(11)
* kategori_id : int(11)
* komponen : varchar(30)
* is_optional : tinyint(1)
* created_at : timestamp
* updated_at : timestamp
v materiel ref_kategori_pmp
* ID : int(11)
* kod : varchar(10)
* jenis_pmp : varchar(100)
* kegunaan : varchar(150)
v materiel ref_model_kenderaan_spanco
* id : int(11)
* kategori_kenderaan : varchar(50)
* jenis_kenderaan : varchar(50)
* model_kenderaan : varchar(100)
* cc : varchar(20)
* jenis_minyak : varchar(20)
* susunan : int(11)
* created_at : timestamp
v materiel sys_audit_lifecycle_policy
* id : int(11)
* policy_code : varchar(80)
* source_table : varchar(80)
* archive_table : varchar(80)
* retention_days : int(11)
* archive_enabled : tinyint(1)
* purge_enabled : tinyint(1)
* notes : varchar(255)
* created_at : timestamp
* updated_at : timestamp
v materiel sys_dashboard_cache
* cache_key : char(64)
* scope_label : varchar(120)
* payload_json : longtext
* generated_by : varchar(20)
* generated_at : datetime
* expires_at : datetime
* duration_ms : int(11)
v materiel sys_dashboard_cache_archive
* archive_id : bigint(20)
* cache_key : char(64)
* scope_label : varchar(120)
* payload_json : longtext
* generated_by : varchar(20)
* generated_at : datetime
* expires_at : datetime
* duration_ms : int(11)
* archived_at : timestamp
* archive_reason : varchar(120)
v materiel sys_database_integrity_issues
* id : int(11)
* issue_type : varchar(80)
* issue_code : varchar(80)
* table_name : varchar(100)
* record_id : varchar(100)
* issue_detail : text
* created_at : timestamp
* column_name : varchar(100)
* invalid_value : varchar(255)
* action_taken : varchar(255)
* detected_at : timestamp
v materiel sys_database_relationship_contract
* id : int(11)
* relationship_code : varchar(120)
* child_table : varchar(100)
* child_column : varchar(100)
* parent_table : varchar(100)
* parent_column : varchar(100)
* fk_name : varchar(64)
* index_name : varchar(64)
* on_delete_rule : varchar(20)
* on_update_rule : varchar(20)
* enforcement_mode : enum('guarded_fk','monitor_only')
* is_active : tinyint(1)
* fk_status : enum('pending','enforced','blocked_orphans','missing_schema','failed','monitor_only')
* orphan_count : int(11)
* constraint_exists : tinyint(1)
* last_error : text
* last_checked_at : timestamp
* created_at : timestamp
* updated_at : timestamp
v materiel sys_database_relationship_validation_snapshot
* id : bigint(20)
* relationship_code : varchar(120)
* child_table : varchar(100)
* child_column : varchar(100)
* parent_table : varchar(100)
* parent_column : varchar(100)
* contract_fk_status : varchar(40)
* computed_status : varchar(40)
* validation_severity : varchar(20)
* live_orphan_count : int(11)
* actual_constraint_exists : tinyint(1)
* validation_message : varchar(255)
* captured_at : timestamp
v materiel sys_data_deduplication_map
* id : bigint(20)
* migration_key : varchar(80)
* source_table : varchar(80)
* duplicate_id : bigint(20)
* canonical_id : bigint(20)
* dedup_key : varchar(700)
* action_taken : varchar(120)
* created_at : timestamp
v materiel sys_master_data_cleanup_log
* id : bigint(20)
* cleanup_code : varchar(120)
* source_table : varchar(80)
* source_id : int(11)
* canonical_id : int(11)
* source_value : varchar(191)
* canonical_value : varchar(191)
* action_taken : varchar(120)
* detail : longtext
* created_at : timestamp
v materiel sys_master_delete_guard_contract
* id : int(11)
* guard_code : varchar(120)
* api_key : varchar(80)
* parent_table : varchar(80)
* parent_column : varchar(80)
* guard_scope : enum('relationship_contract','legacy_text','hybrid')
* is_active : tinyint(1)
* guard_note : varchar(255)
* created_at : timestamp
* updated_at : timestamp
v materiel sys_migrations
* id : int(11)
* migration : varchar(191)
* batch : int(11)
* applied_at : timestamp
* checksum : char(64)
* migration_file : varchar(255)
* executed_by : varchar(80)
* execution_ms : int(11)
* status : enum('success','failed')
* error_message : text
* metadata_json : longtext
* updated_at : timestamp
v materiel sys_migration_execution_log
* id : bigint(20)
* migration : varchar(191)
* migration_file : varchar(255)
* checksum : char(64)
* status : enum('started','success','failed')
* message : text
* executed_by : varchar(80)
* execution_ms : int(11)
* created_at : timestamp
v materiel unit
* ID : int(11)
* markas : tinyint(1)
* parent_markas : tinyint(1)
* parent_markas_id : int(11)
* institut_latihan : tinyint(1)
* ptj : tinyint(1)
* main_unit : tinyint(1)
* unit_kategori : varchar(30)
* parent_unit_id : int(11)
* is_internal_branch : tinyint(1)
* unit_full : varchar(150)
* unit_short : varchar(50)
* is_ptj : tinyint(1)
* kekananan : int(11)
* has_fleet_kenderaan : tinyint(1)
* ptj_id : int(11)
v materiel unit_branch
* id : int(11)
* unit_id : int(11)
* source_unit_id : int(11)
* branch_name : varchar(120)
* branch_short : varchar(60)
* branch_type : varchar(60)
* has_fleet_kenderaan : tinyint(1)
* sort_order : int(11)
* is_active : tinyint(1)
* pending_admin_review : tinyint(1)
* requested_by : varchar(50)
* requested_at : datetime
* request_source : varchar(40)
* created_at : timestamp
* updated_at : timestamp
* active_branch_key : char(32)
v materiel unit_branch_archive
* id : int(11)
* unit_id : int(11)
* source_unit_id : int(11)
* branch_name : varchar(120)
* branch_short : varchar(60)
* branch_type : varchar(60)
* has_fleet_kenderaan : tinyint(1)
* sort_order : int(11)
* is_active : tinyint(1)
* pending_admin_review : tinyint(1)
* requested_by : varchar(50)
* requested_at : datetime
* request_source : varchar(40)
* created_at : timestamp
* updated_at : timestamp
* canonical_id : int(11)
* archived_at : timestamp
* archive_reason : varchar(140)
v materiel unit_relationship
* id : int(11)
* child_unit_id : int(11)
* parent_unit_id : int(11)
* relationship_type : enum('COMMAND','LOGISTIC','LOCATION','TRAINING','FLEET_SUPPORT','BRANCH','SECTION','PTJ','ADMIN_SUPPORT','SECURITY')
* remarks : varchar(255)
* is_active : tinyint(1)
* created_at : timestamp
* updated_at : timestamp
* active_relationship_key : char(32)
v materiel unit_relationship_archive
* id : int(11)
* child_unit_id : int(11)
* parent_unit_id : int(11)
* relationship_type : enum('COMMAND','LOGISTIC','LOCATION','TRAINING','FLEET_SUPPORT','BRANCH','SECTION','PTJ','ADMIN_SUPPORT','SECURITY')
* remarks : varchar(255)
* is_active : tinyint(1)
* created_at : timestamp
* updated_at : timestamp
* canonical_id : int(11)
* archived_at : timestamp
* archive_reason : varchar(140)
v materiel unit_section
* id : int(11)
* branch_id : int(11)
* section_name : varchar(140)
* section_short : varchar(70)
* section_type : varchar(60)
* sort_order : int(11)
* is_active : tinyint(1)
* pending_admin_review : tinyint(1)
* requested_by : varchar(50)
* requested_at : datetime
* request_source : varchar(40)
* created_at : timestamp
* updated_at : timestamp
* active_section_key : char(32)
v materiel unit_section_archive
* id : int(11)
* branch_id : int(11)
* section_name : varchar(140)
* section_short : varchar(70)
* section_type : varchar(60)
* sort_order : int(11)
* is_active : tinyint(1)
* pending_admin_review : tinyint(1)
* requested_by : varchar(50)
* requested_at : datetime
* request_source : varchar(40)
* created_at : timestamp
* updated_at : timestamp
* canonical_id : int(11)
* archived_at : timestamp
* archive_reason : varchar(140)
v materiel vw_database_integrity_orphans
* relationship_code : varchar(49)
* table_name : varchar(33)
* record_id : varchar(20)
* column_name : varchar(25)
* invalid_value : varchar(11)
* parent_table : varchar(33)
* parent_column : varchar(2)
v materiel vw_database_relationship_blocker_detail
* relationship_code : varchar(120)
* child_table : varchar(100)
* child_column : varchar(100)
* parent_table : varchar(100)
* parent_column : varchar(100)
* orphan_table_name : varchar(33)
* orphan_record_id : varchar(20)
* orphan_column_name : varchar(25)
* invalid_value : varchar(11)
* required_action : varchar(129)
v materiel vw_database_relationship_blocker_queue
* relationship_code : varchar(120)
* child_table : varchar(100)
* child_column : varchar(100)
* parent_table : varchar(100)
* parent_column : varchar(100)
* computed_status : varchar(21)
* validation_severity : varchar(8)
* live_orphan_count : bigint(21)
* actual_constraint_exists : int(1)
* validation_message : varchar(93)
* required_action : varchar(140)
v materiel vw_database_relationship_readiness
* relationship_code : varchar(120)
* child_table : varchar(100)
* child_column : varchar(100)
* parent_table : varchar(100)
* parent_column : varchar(100)
* fk_name : varchar(64)
* on_delete_rule : varchar(20)
* on_update_rule : varchar(20)
* enforcement_mode : enum('guarded_fk','monitor_only')
* fk_status : enum('pending','enforced','blocked_orphans','missing_schema','failed','monitor_only')
* constraint_exists : tinyint(1)
* live_orphan_count : bigint(21)
* last_orphan_count : int(11)
* last_error : text
* last_checked_at : timestamp
* readiness_status : varchar(15)
v materiel vw_database_relationship_validation
* relationship_code : varchar(120)
* child_table : varchar(100)
* child_column : varchar(100)
* parent_table : varchar(100)
* parent_column : varchar(100)
* fk_name : varchar(64)
* index_name : varchar(64)
* on_delete_rule : varchar(20)
* on_update_rule : varchar(20)
* enforcement_mode : enum('guarded_fk','monitor_only')
* contract_fk_status : enum('pending','enforced','blocked_orphans','missing_schema','failed','monitor_only')
* contract_constraint_exists : tinyint(1)
* child_table_exists : int(1)
* parent_table_exists : int(1)
* child_column_exists : int(1)
* parent_column_exists : int(1)
* schema_ready : int(1)
* actual_constraint_exists : int(1)
* actual_fk_names : longtext
* live_orphan_count : bigint(21)
* computed_status : varchar(21)
* validation_severity : varchar(8)
* validation_message : varchar(93)
* last_recorded_orphan_count : int(11)
* last_error : text
* last_checked_at : timestamp
v materiel vw_database_relationship_validation_summary
* computed_status : varchar(21)
* validation_severity : varchar(8)
* relationship_total : bigint(21)
* live_orphan_total : decimal(42,0)
* enforced_total : decimal(22,0)
* missing_schema_total : decimal(22,0)
v materiel vw_fleet_component_framework_health
* component_category_id : int(11)
* component_key : varchar(30)
* component_name : varchar(80)
* write_mode : enum('LEGACY','NATIVE')
* total_rows : bigint(21)
* active_rows : decimal(22,0)
* inactive_rows : decimal(22,0)
* active_vehicles : bigint(21)
* orphan_vehicle_rows : decimal(22,0)
* category_key_mismatch_rows : decimal(22,0)
* legacy_provenance_rows : decimal(22,0)
* maintenance_rows : bigint(21)
* maintenance_category_mismatch_rows : bigint(21)
* health_status : varchar(15)
v materiel vw_integrity_orphan_core_user_roles_user
* id : int(11)
* user_id : int(11)
* role_code : varchar(50)
* status : enum('active','inactive')
* assigned_by : varchar(20)
* assigned_at : timestamp
* revoked_by : varchar(20)
* revoked_at : datetime
* unit_id : int(11)
v materiel vw_integrity_orphan_fleet_repair
* ID : int(11)
* kenderaan_id : int(11)
* pembaikan : text
* nilai_pembaikan : decimal(15,2)
* odometer_masuk : int(11)
* odometer_keluar : int(11)
* no_rujuk_kewpa10 : varchar(120)
* tarikh_kewpa10 : date
* kelulusan : varchar(180)
* tarikh_kelulusan : date
* tarikh_masuk_bengkel : date
* tarikh_keluar_bengkel : date
* nama_bengkel : varchar(150)
* tarikh_waranti_mula : date
* tarikh_waranti_tamat : date
* penilaian_bengkel : tinyint(1)
* ulasan_pengguna : text
* created_by : varchar(20)
* updated_by : varchar(20)
* created_at : timestamp
* updated_at : timestamp
v materiel vw_integrity_orphan_mh_answers_question
* id : int(11)
* question_id : int(11)
* answer : text
* is_verified : tinyint(1)
* verification_level : tinyint(1)
* verified_by : varchar(30)
* verified_at : datetime
* helpful_count : int(11)
* created_by : varchar(30)
* created_at : timestamp
v materiel vw_integrity_orphan_mh_document_reads
* id : int(11)
* document_id : int(11)
* user_id : varchar(30)
* opened_at : datetime
* acknowledged_at : datetime
* ip_address : varchar(80)
* reading_status : enum('Not Started','In Progress','Completed')
* understanding_status : enum('Pending Verification','Understood','Not Understood')
* understanding_note : text
* not_understood_reason : varchar(120)
* document_version : varchar(30)
* total_pages : int(11)
* pages_completed : int(11)
* last_page_number : int(11)
* resume_page_number : int(11)
* total_read_seconds : int(11)
* grace_started_at : datetime
* grace_until : datetime
* forced_at : datetime
* completed_at : datetime
* updated_at : datetime
v materiel vw_integrity_orphan_mh_read_pages
* id : int(11)
* document_id : int(11)
* user_id : varchar(30)
* document_version : varchar(30)
* page_number : int(11)
* first_seen_at : datetime
* last_seen_at : datetime
* dwell_seconds : int(11)
* is_completed : tinyint(1)
* completed_at : datetime
* session_token : char(64)
* created_at : timestamp
* updated_at : datetime
v materiel vw_integrity_orphan_pakaian_item_component
* id : int(11)
* pakaian_item_id : int(11)
* component_name : varchar(80)
* size_options : text
* is_required : tinyint(1)
* sort_order : int(11)
* is_active : tinyint(1)
* created_by : varchar(30)
* updated_by : varchar(30)
* created_at : timestamp
* updated_at : timestamp
v materiel vw_integrity_orphan_pakaian_permohonan_item
* id : int(11)
* permohonan_id : int(11)
* pakaian_item_id : int(11)
* kategori_pakaian : varchar(120)
* sub_no_pakaian : varchar(10)
* nama_pakaian : varchar(150)
* size_baju : varchar(30)
* size_seluar : varchar(30)
* size_kasut : varchar(30)
* created_at : timestamp
v materiel vw_integrity_orphan_pemandu_kemahiran
* ID : int(11)
* pemandu_id : int(11)
* no_tentera : varchar(20)
* nama_pemandu : varchar(255)
* jenis : varchar(100)
* jenis_kemahiran : varchar(100)
* jenis_sijil : varchar(20)
* kelas_lesen : varchar(10)
* no_sijil : varchar(100)
* fail_sijil : varchar(255)
* file_name : varchar(255)
* file_path : varchar(255)
* uploaded_at : datetime
* updated_at : datetime
v materiel vw_integrity_orphan_pemandu_lesen_awam
* ID : int(11)
* pemandu_id : int(11)
* kelas_lesen : varchar(100)
* no_siri_lesen : varchar(100)
* no_jpjl6 : varchar(100)
* tarikh_tamat : date
v materiel vw_integrity_orphan_pemandu_spanco
* ID : int(11)
* pemandu_id : int(11)
* status : varchar(80)
* permohonan_sijil : varchar(150)
* no_sijil : varchar(100)
* tarikh_tamat : date
* had_kawasan : varchar(150)
* perbah_pendaftaran : varchar(200)
* perbah_pembatalan : varchar(200)
* permohonan_luar_had_pengguna : varchar(150)
* permohonan_luar_had_fleet : varchar(150)
* keputusan_sismat : varchar(100)
* rujuk_sismat : varchar(200)
v materiel vw_integrity_orphan_unit_branch_unit
* id : int(11)
* unit_id : int(11)
* source_unit_id : int(11)
* branch_name : varchar(120)
* branch_short : varchar(60)
* branch_type : varchar(60)
* has_fleet_kenderaan : tinyint(1)
* sort_order : int(11)
* is_active : tinyint(1)
* pending_admin_review : tinyint(1)
* requested_by : varchar(50)
* requested_at : datetime
* request_source : varchar(40)
* created_at : timestamp
* updated_at : timestamp
v materiel vw_integrity_orphan_unit_relationship_child
* id : int(11)
* child_unit_id : int(11)
* parent_unit_id : int(11)
* relationship_type : enum('COMMAND','LOGISTIC','LOCATION','TRAINING','FLEET_SUPPORT','BRANCH','SECTION','PTJ','ADMIN_SUPPORT','SECURITY')
* remarks : varchar(255)
* is_active : tinyint(1)
* created_at : timestamp
* updated_at : timestamp
v materiel vw_integrity_orphan_unit_relationship_parent
* id : int(11)
* child_unit_id : int(11)
* parent_unit_id : int(11)
* relationship_type : enum('COMMAND','LOGISTIC','LOCATION','TRAINING','FLEET_SUPPORT','BRANCH','SECTION','PTJ','ADMIN_SUPPORT','SECURITY')
* remarks : varchar(255)
* is_active : tinyint(1)
* created_at : timestamp
* updated_at : timestamp
v materiel vw_integrity_orphan_unit_section_branch
* id : int(11)
* branch_id : int(11)
* section_name : varchar(140)
* section_short : varchar(70)
* section_type : varchar(60)
* sort_order : int(11)
* is_active : tinyint(1)
* pending_admin_review : tinyint(1)
* requested_by : varchar(50)
* requested_at : datetime
* request_source : varchar(40)
* created_at : timestamp
* updated_at : timestamp
v materiel vw_kenderaan_reference
* ID : int(11)
* no_daftar : varchar(50)
* no_daftar_awam : varchar(50)
* kategori_kenderaan_id : int(11)
* kategori_kenderaan : varchar(100)
* jenis_kenderaan_id : int(11)
* jenis_kenderaan : varchar(150)
* model_kenderaan_spanco_id : int(11)
* model_kenderaan : varchar(121)
* jenis_minyak : varchar(20)
* unit_id : int(11)
* unit : varchar(50)
* unit_full : varchar(150)
* nombor_pengenalan : varchar(100)
* nombor_pendaftaran_aset : varchar(100)
* tmk : date
* no_chasis : varchar(100)
* no_enjin : varchar(100)
* ciri_istimewa : varchar(150)
* tugas_khas : varchar(150)
* had_min_pemandu : int(11)
* had_max_penumpang : int(11)
* harga_perolehan : decimal(15,2)
* harga_semasa : varchar(50)
* status_kenderaan : varchar(30)
* created_by : varchar(50)
* updated_by : varchar(50)
* created_at : timestamp
* updated_at : timestamp
Create relationship
FOREIGN KEY
on delete
on update
Delete relationship