================================================================================ DATABASE SCHEMA COMPARISON REPORT ================================================================================ Current Database: acbptxvs_branch_system (Django) Target Schema: xygbfpsg_loans.sql (Grazuri) Generated: 2026-05-08 00:15:12 ================================================================================ SUMMARY ================================================================================ Missing Tables in Current Schema: 62 Extra Tables in Current Schema: 56 Tables with Missing Columns: 0 Tables with Extra Columns: 0 Tables with Type Differences: 0 ================================================================================ MISSING TABLES IN CURRENT SCHEMA ================================================================================ The following tables exist in the target Grazuri schema but are missing in the current Django database: 1. aboutus (2 columns) 2. additional_fees (5 columns) 3. affordability_check (6 columns) 4. attachment (5 columns) 5. b2cpaymentsresults (9 columns) 6. backup (5 columns) 7. bank_accounts (7 columns) 8. banner (2 columns) 9. basic (11 columns) 10. battachment (8 columns) 11. borrowers (37 columns) 12. borrowers_salaries (11 columns) 13. branches (6 columns) 14. bureau_records (32 columns) 15. bureau_submissions (6 columns) 16. collateral (13 columns) 17. comments (6 columns) 18. countries (4 columns) 19. documents_required (3 columns) 20. emp_permission (7 columns) 21. emp_role (2 columns) 22. employer_details (12 columns) 23. etemplates (6 columns) 24. faqs (3 columns) 25. fin_info (6 columns) 26. footer (15 columns) 27. gl_codes (6 columns) 28. hiw (2 columns) 29. journal_transactions (12 columns) 30. loan_additional_settings (6 columns) 31. loan_disbursements (5 columns) 32. loan_fees (8 columns) 33. loan_fees_settings (7 columns) 34. loan_feespayments (10 columns) 35. loan_guarantors (10 columns) 36. loan_info (42 columns) 37. loan_reschedule_table (16 columns) 38. loan_settings (11 columns) 39. loan_statuses (6 columns) 40. loanfees (3 columns) 41. loanprocessingfeesx (5 columns) 42. message (8 columns) 43. mywallet (7 columns) 44. next_of_kin_details (7 columns) 45. pay_schedule (18 columns) 46. payment_schedule (8 columns) 47. paymenterrors (2 columns) 48. payments (14 columns) 49. products (5 columns) 50. reversed_payments (14 columns) 51. saccos_members (17 columns) 52. sasapayipn (6 columns) 53. sms (6 columns) 54. sms_messages (7 columns) 55. stkpushresults (7 columns) 56. system_transactions (11 columns) 57. systemset (32 columns) 58. temp_borrowers (10 columns) 59. transaction (10 columns) 60. twallet (3 columns) 61. unknown_payments (8 columns) 62. user (19 columns) ================================================================================ EXTRA TABLES IN CURRENT SCHEMA ================================================================================ The following tables exist in the current Django database but are not in the target Grazuri schema (these are Django-specific tables): 1. auth_group 2. auth_group_permissions 3. auth_permission 4. cache_table 5. customer_requests 6. default_role_permissions 7. django_admin_log 8. django_migrations 9. django_migrations_backup 10. django_session 11. document_templates 12. email_templates 13. expenses 14. generated_reports 15. loan_applications 16. loans_loanapplication 17. loans_loanproduct 18. loans_repayment 19. mpesa_access_tokens 20. mpesa_callbacks 21. mpesa_configurations 22. mpesa_transactions 23. notifications 24. offer_letters 25. payment_allocations 26. penalty_charges 27. portfolio_assignments 28. portfolio_performance 29. receipts 30. registration_fee_payments 31. registration_fees 32. repayments 33. report_schedules 34. report_schedules_recipients 35. report_templates 36. reports_notification 37. role_permissions 38. rollover_requests 39. system_settings 40. user_access_logs 41. user_permissions 42. user_permissions_backup_20251014_173638 43. users 44. users_accessible_branches 45. users_branch 46. users_customuser 47. users_customuser_groups 48. users_customuser_user_permissions 49. users_groups 50. users_user_permissions 51. utils_auditlog 52. utils_document 53. utils_document_tags 54. utils_documenttag 55. utils_notification 56. utils_systemsetting ================================================================================ RECOMMENDATIONS ================================================================================ 1. CREATE DJANGO MODELS FOR MISSING TABLES: - Create models for the following tables: * aboutus * additional_fees * affordability_check * attachment * b2cpaymentsresults * backup * bank_accounts * banner * basic * battachment ... and 52 more 2. ADD MISSING COLUMNS TO EXISTING MODELS: - Update Django models to include missing columns - Generate migrations using: python manage.py makemigrations 3. REVIEW DATA TYPE DIFFERENCES: - Ensure Django field types match target schema requirements - Consider data migration if types are incompatible 4. PRESERVE DJANGO-SPECIFIC TABLES: - Keep Django admin, auth, and session tables - These are required for Django functionality 5. TEST MIGRATIONS: - Test all migrations in development environment first - Verify data integrity after applying migrations - Create database backup before production deployment