What is theCould you check the class names in class_names.txt and compare them with the tables defined in the tables.txt file? Identify and categorize all tables that are missing their corresponding migration task. You only need to list out missing tasks / tables.

For example, assume the schema file has 3 tables "style_definitions", "sidekiq_scheduled_jobs", and "surprise_redeemables"

And in the migration task file, we only have "StyleDefinitionsTableTask", "SidekiqScheduledJobsTableTask", then you need to list out "surprise_redeemables" because it misses the migration task

Rules for matching:

A table named admins should have a task named AdminTableTask
A table named checkins should have a task named CheckinTableTask

Please note that you don't need to consider if the word is singular or plural (with or without the letter s), they can be treat as the same

Expected output:

Categorize missing migration tasks and reconcile some of my existing categories. Here is my existing categories:

admin
authentication
bulk_operation
business
campaign
checkin
communication
configuration
feedback
gaming
integration
location
membership
payment
promotion
receipt
redemption
reward
segment
system_internal
user

Here is the class_names.txt file

LocationTableTask
LocationExtraTableTask
LocationKeyTableTask
LocationPaymentConfigTableTask
LocationPhotoTableTask
LocationVisitTableTask
BeaconTableTask
LocationGroupTableTask
LocationGroupMembershipTableTask
AdminTableTask
BusinessAdminTableTask
AdminFavoritesTableTask
AdminLogsTableTask
RoleTableTask
WorkflowAssessmentTableTask
AuthorizationTableTask
BlacklistedTokenTableTask
IdentityProviderTableTask
LoginProviderTableTask
LoginSessionTableTask
OauthAccessGrantTableTask
OauthAccessTokenTableTask
OauthApplicationTableTask
OneTimePasswordTableTask
PageAuthorizationTableTask
PassLookupLogTableTask
PasswordHistoryTableTask
VerificationTableTask
SessionTokenTableTask
AgeVerificationTableTask
FraudSuspectTableTask
SessionVisitTableTask
BulkActivityFailureTableTask
BulkGuestActivityTableTask
BulkGuestLocationUpdateTableTask
BulkGuestUploadConnectionTableTask
BulkGuestUploadTableTask
BulkImportLocationPaymentConfigTableTask
BusinessTableTask
BusinessAdminTableTask
BusinessAdminLocationTableTask
BusinessAdminLocationGroupTableTask
BusinessTagTableTask
BusinessTaggingTableTask
BusinessMigrationUserTableTask
FranchiseeTableTask
CampaignTableTask
CampaignBuilderTrackerTableTask
CampaignCacheTableTask
CampaignDeviceTableTask
CampaignSetTableTask
CampaignStatisticTableTask
CampaignTagTableTask
FreePunchhCampaignTableTask
MassGiftingTableTask
DynamicCampaignAssetTableTask
CheckinTableTask
CheckinAllocationTableTask
CheckinCreditsTableTask
CheckinFailureTableTask
PostCheckinUserCampaignTableTask
BlastSendTableTask
EmailTemplateTableTask
InboundSmsEventTableTask
NotificationTemplateTableTask
SendgridEventTableTask
SmsEventTableTask
ReceiptMessageTableTask
EmailAssetTableTask
SocialPostTableTask
IframeConfigurationTableTask
SamlIdpConfigurationTableTask
MobileConfigurationTableTask
RfmSlabsTableTask
CardsTableTask
StyleDefinitionTableTask
SamlServiceProviderTableTask
WifiConfigurationTableTask
WifiLocationMappingTableTask
WifiParamMappingTableTask
WifiPortalLogTableTask
WifiPortalTableTask
LocaleDefinitionTableTask
FeedbackTableTask
FeedbackCategoryTableTask
FeedbackReplyTableTask
SurveyCampaignSubmissionTableTask
SurveyTableTask
ProfileAnswerTableTask
ProfileFieldTableTask
GamesTableTask
GamingAchievementTableTask
GamingLevelTableTask
GuestGamePlayCodeTableTask
ScratchCardTableTask
ScratchPlayTableTask
ChallengeMilestoneTableTask
AndroidPassTableTask
AndroidPayClassTableTask
ApiMessageTableTask
AppDownloadTableTask
AppMessageTableTask
AppleMigrationTableTask
ApplePassDesignTableTask
ApplePassDeviceTableTask
ApplePassRegistrationTableTask
ApplePassTableTask
PunchhAppVariantTableTask
MembershipLevelHistoryTableTask
MembershipLevelTableTask
MembershipProgramHistoryTableTask
MembershipProgramTableTask
SubscriptionCancellationReasonTableTask
SubscriptionDiscountTableTask
SubscriptionPlanTableTask
LoyaltyCardTableTask
LoyaltyProgramRestructureTableTask
PaymentCardTableTask
PaymentFailureTableTask
PaymentTableTask
PosTransactionTableTask
TipTableTask
WalletTableTask
CreditCardTransactionTableTask
DiscountBasketItemTableTask
DiscountBasketTableTask
DiscountingRuleTableTask
GiftCardLogTableTask
GiftCardVersionTableTask
GiftCardTableTask
TransactionEventTableTask
CouponTableTask
BounceBackCouponTableTask
ProgramBenefitTableTask
EarningQualifierTableTask
EarningTableTask
QualificationCriterionTableTask
LineItemProductTableTask
MenuItemConsumerTableTask
LineItemSelectorTableTask
ReceiptTableTask
ReceiptDetailTableTask
ReceiptImageTableTask
ReceiptMessageTableTask
ReceiptStatTableTask
ReceiptTaggingTableTask
RedemptionTableTask
RedemptionFailureTableTask
RedemptionImageTableTask
RedemptionLogTableTask
RedemptionVoidTableTask
RedemptionCodesTableTask
UserCouponRedemptionTableTask
RecurringRewardTableTask
RedeemableTableTask
RewardArchiveTableTask
RewardCreditTableTask
RewardDebitTableTask
RewardTableTask
BlackoutDateTableTask
DaypartTableTask
ScheduleTaskTableTask
ScheduleTableTask
SidekiqScheduledJobTableTask
ExpiryEventTableTask
SegmentDefinitionTableTask
SegmentCustomUserTableTask
ComplexSegmentPartTableTask
SegmentReceiptTagTableTask
ActivityDetectionRuleTableTask
CspReportTableTask
DataPipelineTableTask
TaskTableTask
VersionNoteTableTask
VersionTableTask
UserTableTask
LoyaltyPosUserTableTask
UserAgentTrackingTableTask
UserAutoReloadConfigTableTask
UserBotTableTask
UserDeviceTableTask
UserExternalIdentifierTableTask
UserFavouriteLocationTableTask
UserCardTableTask
UserConsentTableTask
UserCouponRedemptionTableTask
UserFeatureEnrollmentTableTask
UserNoteTableTask
UserCampaignCounterTableTask
UserIncinerateTableTask
UserLookupLogTableTask
UserRelationTableTask
UserScoreTableTask
UserSmsComplianceTableTask
UserSubscriptionTableTask
UserTransitionTableTask
UserVersionTableTask
UserVisitTableTask
UserSurveyTableTask

And here is the tables.txt file

accounts
activity_detection_rules
admin_favorites
admin_logs
admins
age_verifications
android_passes
android_pay_classes
api_messages
app_downloads
app_messages
apple_migrations
apple_pass_designs
apple_pass_devices
apple_pass_registrations
apple_passes
authorizations
badges
beacons
billable_customers
blacklisted_tokens
blackout_dates
blast_sends
bots
bounce_back_coupons
bulk_activity_failures
bulk_guest_activities
bulk_guest_location_updates
bulk_guest_upload_connections
bulk_guest_uploads
bulk_import_location_payment_configs
business_admin_location_groups
business_admin_locations
business_admins
business_migration_users
business_taggings
business_tags
businesses
campaign_builder_trackers
campaign_caches
campaign_devices
campaign_sets
campaign_statistics
campaign_tags
campaigns
card_designs
cards
challenge_milestones
checkin_allocations
checkin_credits
checkin_failures
checkins
complex_segment_parts
conversion_rules
coupons
credit_card_transcations
csp_reports
data_pipelines
dayparts
discount_basket_items
discount_baskets
discounting_rules
dynamic_campaign_assets
earning_qualifiers
earnings
email_assets
email_templates
expiry_events
feedback_categories
feedback_replies
feedbacks
franchisees
fraud_suspects
free_punchh_campaigns
ftp_endpoints
games
gaming_achievements
gaming_levels
gift_card_logs
gift_card_versions
gift_cards
global_configurations
guest_game_play_codes
identity_providers
iframe_configurations
invitations
inbound_sms_events
line_item_products
line_item_selectors
locale_definitions
location_extras
location_group_memberships
location_groups
location_keys
location_payment_configs
location_photos
location_visits
locations
login_providers
login_sessions
loyalty_cards
loyalty_pos_users
mass_giftings
loyalty_program_restructures
media_libraries
membership_level_histories
membership_levels
membership_program_histories
membership_programs
menu_item_consumers
mobile_configurations
ncr_bsl_orders
notification_payloads
notification_templates
oauth_access_grants
oauth_access_tokens
oauth_applications
one_time_password
page_authorizations
pass_lookup_logs
password_histories
payment_cards
payment_failures
payments
pos_transactions
post_checkin_user_campaigns
profile_answers
profile_fields
program_benefits
punchh_app_variants
qualification_criteria
qualifying_expressions
receipt_details
receipt_images
receipt_messages
receipt_stats
receipt_taggings
receipts
recurring_rewards
redeemables
redemption_codes
redemption_failures
redemption_images
redemption_logs
redemption_voids
redemptions
referrals
reward_archives
reward_credits
reward_debits
rewards
rfm_slabs
roles
saml_idp_configurations
saml_service_providers
schedule_tasks
schedules
scratch_cards
scratch_plays
segment_custom_users
segment_definitions
segment_receipt_tags
sendgrid_events
services
session_tokens
session_visits
set_members
sms_events
social_posts
style_definitions
sidekiq_scheduled_jobs
subscription_cancellation_reasons
subscription_discounts
subscription_plans
surprise_redeemables
surprise_sets
survey_campaign_submissions
surveys
sync_failures
taggings
tags
tasks
tips
transaction_events
user_agent_trackings
user_auto_reload_configs
user_bots
user_campaign_counters
user_campaigns
user_cards
user_consents
user_coupon_redemptions
user_devices
user_external_identifiers
user_favourite_locations
user_feature_enrollments
user_incinerates
user_lookup_logs
user_notes
user_notifications
user_relations
user_rich_notifications
user_scores
user_sms_compliances
user_subscriptions
user_surveys
user_transitions
user_versions
user_visits
users
verifications
version_notes
versions
wallets
wifi_configurations
wifi_location_mappings
wifi_param_mappings
wifi_portal_logs
wifi_portals
workflow_assessments