| Server Connection | PASS | Connected to MySQL server |
| User Privileges | PASS | GRANT USAGE ON *.* TO `odspeco2_demoform`@`localhost` IDENTIFIED BY PASSWORD '*767E6C63B7F3F3F90F06DF0A298C9ECC6BC387AE' | GRANT ALL PRIVILEGES ON `odspeco2\_demoform`.* TO `odspeco2_demoform`@`localhost` |
| Database | PASS | Database exists and is selectable |
| Old Foreign Key: fk_form_tokens_form_id | PASS | Dropped before clean rebuild |
| Old Foreign Key: fk_uploaded_files_form_id | PASS | Dropped before clean rebuild |
| Old Foreign Key: fk_upload_tokens_form_id | PASS | Dropped before clean rebuild |
| Old Foreign Key: fk_meetings_assigned_user_id | PASS | Dropped before clean rebuild |
| Old Foreign Key: fk_meetings_created_by | PASS | Dropped before clean rebuild |
| Old Foreign Key: fk_audit_logs_user_id | PASS | Dropped before clean rebuild |
| Old Foreign Key: fk_token_history_token_id | PASS | Dropped before clean rebuild |
| Old Foreign Key: fk_trusted_devices_user_id | PASS | Dropped before clean rebuild |
| Table: users | PASS | Exists or created |
| Table: forms | PASS | Exists or created |
| Table: form_tokens | PASS | Exists or created |
| Table: token_status_history | PASS | Exists or created |
| Table: upload_tokens | PASS | Exists or created |
| Table: uploaded_files | PASS | Exists or created |
| Table: meetings | PASS | Exists or created |
| Table: audit_logs | PASS | Exists or created |
| Table: ip_whitelist | PASS | Exists or created |
| Table: trusted_devices | PASS | Exists or created |
| Table: settings | PASS | Exists or created |
| Column: users.username | PASS | Exists |
| Column: users.password | PASS | Exists |
| Column: users.full_name | PASS | Exists |
| Column: users.email | PASS | Exists |
| Column: users.role | PASS | Exists |
| Column: users.status | PASS | Exists |
| Column: users.force_password_change | PASS | Exists |
| Column: users.created_at | PASS | Exists |
| Column: users.updated_at | PASS | Exists |
| Column: forms.reference_number | PASS | Exists |
| Column: forms.token | PASS | Exists |
| Column: forms.full_name | PASS | Exists |
| Column: forms.father_name | PASS | Exists |
| Column: forms.mother_name | PASS | Exists |
| Column: forms.mobile_number | PASS | Exists |
| Column: forms.email | PASS | Exists |
| Column: forms.dob | PASS | Exists |
| Column: forms.gender | PASS | Exists |
| Column: forms.address | PASS | Exists |
| Column: forms.city | PASS | Exists |
| Column: forms.state | PASS | Exists |
| Column: forms.pincode | PASS | Exists |
| Column: forms.occupation | PASS | Exists |
| Column: forms.aadhar_number | PASS | Exists |
| Column: forms.pan_number | PASS | Exists |
| Column: forms.remarks | PASS | Exists |
| Column: forms.status | PASS | Exists |
| Column: forms.submitted_at | PASS | Exists |
| Column: form_tokens.token | PASS | Exists |
| Column: form_tokens.form_url | PASS | Exists |
| Column: form_tokens.qr_path | PASS | Exists |
| Column: form_tokens.form_id | PASS | Exists |
| Column: form_tokens.status | PASS | Exists |
| Column: form_tokens.is_active | PASS | Exists |
| Column: form_tokens.expires_at | PASS | Exists |
| Column: form_tokens.created_at | PASS | Exists |
| Column: form_tokens.used_at | PASS | Exists |
| Column: token_status_history.token_id | PASS | Exists |
| Column: token_status_history.old_status | PASS | Exists |
| Column: token_status_history.new_status | PASS | Exists |
| Column: token_status_history.changed_at | PASS | Exists |
| Column: token_status_history.changed_by | PASS | Exists |
| Column: upload_tokens.form_id | PASS | Exists |
| Column: upload_tokens.reference_number | PASS | Exists |
| Column: upload_tokens.token | PASS | Exists |
| Column: upload_tokens.qr_path | PASS | Exists |
| Column: upload_tokens.status | PASS | Exists |
| Column: upload_tokens.is_active | PASS | Exists |
| Column: upload_tokens.expires_at | PASS | Exists |
| Column: upload_tokens.created_at | PASS | Exists |
| Column: upload_tokens.used_at | PASS | Exists |
| Column: uploaded_files.form_id | PASS | Exists |
| Column: uploaded_files.reference_number | PASS | Exists |
| Column: uploaded_files.file_path | PASS | Exists |
| Column: uploaded_files.original_name | PASS | Exists |
| Column: uploaded_files.file_type | PASS | Exists |
| Column: uploaded_files.file_size | PASS | Exists |
| Column: uploaded_files.uploaded_at | PASS | Exists |
| Column: meetings.title | PASS | Exists |
| Column: meetings.meeting_date | PASS | Exists |
| Column: meetings.meeting_time | PASS | Exists |
| Column: meetings.description | PASS | Exists |
| Column: meetings.assigned_user_id | PASS | Exists |
| Column: meetings.status | PASS | Exists |
| Column: meetings.created_by | PASS | Exists |
| Column: meetings.created_at | PASS | Exists |
| Column: meetings.updated_at | PASS | Exists |
| Column: audit_logs.user_id | PASS | Exists |
| Column: audit_logs.ip_address | PASS | Exists |
| Column: audit_logs.action | PASS | Exists |
| Column: audit_logs.created_at | PASS | Exists |
| Column: ip_whitelist.ip_address | PASS | Exists |
| Column: ip_whitelist.notes | PASS | Exists |
| Column: ip_whitelist.status | PASS | Exists |
| Column: ip_whitelist.created_at | PASS | Exists |
| Column: trusted_devices.user_id | PASS | Exists |
| Column: trusted_devices.device_name | PASS | Exists |
| Column: trusted_devices.device_token | PASS | Exists |
| Column: trusted_devices.ip_address | PASS | Exists |
| Column: trusted_devices.last_used_at | PASS | Exists |
| Column: trusted_devices.status | PASS | Exists |
| Column: trusted_devices.created_at | PASS | Exists |
| Column: settings.setting_key | PASS | Exists |
| Column: settings.setting_value | PASS | Exists |
| Column: settings.updated_at | PASS | Exists |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Column Type Repair | PASS | Applied |
| Index: form_tokens.idx_form_tokens_form_id | PASS | Exists |
| Index: upload_tokens.idx_upload_tokens_form_id | PASS | Exists |
| Index: uploaded_files.idx_uploaded_files_form_id | PASS | Exists |
| Index: meetings.idx_meetings_assigned_user_id | PASS | Exists |
| Index: meetings.idx_meetings_created_by | PASS | Exists |
| Index: audit_logs.idx_audit_logs_user_id | PASS | Exists |
| Index: trusted_devices.idx_trusted_devices_user_id | PASS | Exists |
| Index: token_status_history.idx_token_history_token_id | PASS | Exists |
| Orphan Foreign Key Values | PASS | Invalid old references were set to NULL before rebuilding constraints |
| Foreign Key: fk_form_tokens_form_id | PASS | Created |
| Foreign Key: fk_upload_tokens_form_id | PASS | Created |
| Foreign Key: fk_uploaded_files_form_id | PASS | Created |
| Foreign Key: fk_meetings_assigned_user_id | PASS | Created |
| Foreign Key: fk_meetings_created_by | PASS | Created |
| Foreign Key: fk_audit_logs_user_id | PASS | Created |
| Foreign Key: fk_trusted_devices_user_id | PASS | Created |
| Foreign Key: fk_token_history_token_id | PASS | Created |
| Default Admin | PASS | demoadmin exists. Password is Demo@123 if newly created. |
| Settings | PASS | Default settings verified |