#![allow(clippy::too_many_arguments)] pub use sea_orm_migration::prelude::*; mod m20260410_000001_create_tenant; mod m20260411_000002_create_users; mod m20260411_000003_create_user_credentials; mod m20260411_000004_create_user_tokens; mod m20260411_000005_create_roles; mod m20260411_000006_create_permissions; mod m20260411_000007_create_role_permissions; mod m20260411_000008_create_user_roles; mod m20260411_000009_create_organizations; mod m20260411_000010_create_departments; mod m20260411_000011_create_positions; mod m20260412_000012_create_dictionaries; mod m20260412_000013_create_dictionary_items; mod m20260412_000014_create_menus; mod m20260412_000015_create_menu_roles; mod m20260412_000016_create_settings; mod m20260412_000017_create_numbering_rules; mod m20260412_000018_create_process_definitions; mod m20260412_000019_create_process_instances; mod m20260412_000020_create_tokens; mod m20260412_000021_create_tasks; mod m20260412_000022_create_process_variables; mod m20260413_000023_create_message_templates; mod m20260413_000024_create_messages; mod m20260413_000025_create_message_subscriptions; mod m20260413_000026_create_audit_logs; mod m20260414_000027_fix_unique_indexes_soft_delete; mod m20260414_000028_add_standard_fields_to_tokens; mod m20260414_000029_add_standard_fields_to_process_variables; mod m20260414_000032_fix_settings_unique_index_null; mod m20260415_000030_add_version_to_message_tables; mod m20260416_000031_create_domain_events; mod m20260417_000033_create_plugins; mod m20260417_000034_seed_plugin_permissions; mod m20260418_000035_pg_trgm_and_entity_columns; mod m20260418_000036_add_data_scope_to_role_permissions; mod m20260419_000037_create_user_departments; mod m20260419_000038_fix_crm_permission_codes; mod m20260419_000039_entity_registry_columns; mod m20260419_000040_plugin_market; mod m20260419_000041_plugin_user_views; mod m20260423_000042_create_health_tables; mod m20260423_000043_create_wechat_users; mod m20260423_000044_create_articles; mod m20260424_000045_health_indexes; mod m20260424_000046_health_constraints_fix; mod m20260424_000047_health_index_fix; mod m20260425_000048_add_patient_id_number_hash; mod m20260425_000049_widen_patient_id_number; mod m20260425_000051_dialysis_and_lab_enhance; mod m20260425_000052_create_ai_tables; mod m20260425_000053_create_points_tables; mod m20260425_000054_create_daily_monitoring; mod m20260425_000055_points_checkin_standard_fields; mod m20260425_00050_add_doctor_name_column; mod m20260426_000056_create_diagnosis; mod m20260426_000057_rename_points_transaction_type_column; mod m20260426_000058_merge_daily_monitoring_into_vital_signs; mod m20260426_000059_seed_menus; mod m20260426_000060_create_critical_value_thresholds; mod m20260426_000061_create_consent; mod m20260426_000073_create_device_readings; mod m20260426_000074_create_vital_signs_hourly; mod m20260426_000075_create_patient_devices; mod m20260426_000076_create_alert_rules; mod m20260426_000077_create_alerts; mod m20260427_000062_create_tenant_crypto_keys; mod m20260427_000063_content_management; mod m20260427_000064_add_patient_pii_fields; mod m20260427_000065_add_consultation_message_key_version; mod m20260427_000066_add_follow_up_record_key_version; mod m20260427_000067_add_family_member_pii_fields; mod m20260427_000068_add_doctor_profile_pii_fields; mod m20260427_000069_add_dialysis_record_key_version; mod m20260427_000070_add_lab_report_key_version; mod m20260427_000071_add_diagnosis_key_version; mod m20260427_000072_widen_encrypted_phone_columns; mod m20260427_000078_normalize_follow_up_types; mod m20260427_000079_add_vital_signs_fields; mod m20260427_000080_create_medication_record; mod m20260427_000081_create_dialysis_prescription; mod m20260427_000082_seed_ai_prompts; mod m20260427_000083_create_follow_up_template; mod m20260427_000084_domain_events_cleanup; mod m20260427_000085_processed_events; mod m20260427_000086_enable_rls_all_tables; mod m20260427_000087_audit_logs_hash_chain; mod m20260428_000088_rls_policy_strict; mod m20260428_000089_blind_indexes; mod m20260428_000090_critical_alerts; mod m20260428_000091_dead_letter_events; mod m20260429_000092_device_readings_metric; mod m20260429_000093_trend_analysis_prompt_v2; mod m20260429_000094_device_readings_unique_constraint; mod m20260429_000095_seed_alert_device_menus; mod m20260430_000096_create_medication_reminder; mod m20260501_000097_seed_menu_permissions; mod m20260501_000098_create_ai_suggestion; mod m20260501_000099_create_ai_risk_threshold; mod m20260501_000100_seed_action_inbox_menu; mod m20260502_000101_seed_health_dictionaries; mod m20260502_000102_seed_warning_thresholds; mod m20260502_000103_seed_follow_up_template_menu; mod m20260504_000104_create_vital_signs_daily; mod m20260504_000105_alter_patient_devices_add_status; mod m20260504_000106_create_api_clients; mod m20260504_000107_alter_article_article_tag_add_tenant_and_soft_delete; mod m20260504_000108_alter_vital_signs_hourly_add_soft_delete; mod m20260504_000109_add_missing_fk_constraints; mod m20260504_000110_alter_critical_alerts_version_i32; mod m20260505_000111_create_care_plan; mod m20260505_000112_create_shift_management; mod m20260505_000113_create_ble_gateways; mod m20260505_000114_dialysis_record_add_workflow_instance; mod m20260505_000115_family_member_health_proxy; mod m20260505_000116_seed_missing_health_menus; mod m20260505_000117_create_ai_tenant_configs; mod m20260505_000118_create_ai_analysis_queue; mod m20260505_000119_enable_pgvector; mod m20260505_000120_create_ai_knowledge_rules; mod m20260505_000121_create_ai_knowledge_references; mod m20260505_000122_create_ai_knowledge_guides; mod m20260505_000123_update_ai_prompts_system_instruction; mod m20260505_000124_freeze_deferred_menus; mod m20260506_000125_restructure_menus_and_roles; mod m20260506_000126_fix_role_permissions_cleanup; mod m20260507_000127_fix_doctor_extra_permissions; mod m20260507_000128_fix_alert_status_and_menu_perms; mod m20260507_000129_fix_nurse_operator_points_permissions; mod m20260508_000130_fix_operator_permissions_and_nurse_devices; mod m20260508_000131_fix_all_role_permissions; mod m20260508_000132_fix_doctor_permissions_restore; mod m20260510_000133_create_patient_role; mod m20260510_000134_create_media_folder; mod m20260510_000135_create_media_item; mod m20260510_000136_create_banner; mod m20260510_000137_seed_media_banner_menus; mod m20260512_000138_create_copilot_rules; mod m20260512_000139_create_copilot_insights; mod m20260512_000140_create_copilot_risk_snapshots; mod m20260512_000141_create_copilot_chat_logs; mod m20260512_000142_seed_copilot_rules; mod m20260512_000143_seed_copilot_alert_rules; mod m20260513_000144_enforce_version_optimistic_lock; mod m20260513_000145_seed_missing_permissions; mod m20260515_000146_seed_menu_permissions_phase2; mod m20260516_000147_seed_ai_chat_permission; mod m20260518_000148_create_ai_chat_tables; mod m20260518_000149_fix_admin_permissions; mod m20260518_000150_seed_ai_config_permission; mod m20260518_000151_fix_ai_config_menu_parent; mod m20260518_000152_seed_ai_provider_permission; mod m20260518_000153_ai_health_butler_v2; mod m20260519_000154_seed_ai_knowledge_permissions; mod m20260519_000155_fix_ai_menus_and_add_chat; mod m20260519_000156_fix_ai_menus_round2; mod m20260520_000157_follow_up_source_and_points_rules; mod m20260521_000158_alerts_add_source_columns; mod m20260521_000159_patient_phone_and_consent_seed; mod m20260521_000160_follow_up_task_template_id_and_record_form_data; mod m20260521_000161_consultation_media_id_and_suggestion_references; mod m20260521_000162_consultation_session_rating_feedback; mod m20260521_000163_reorganize_menus_by_business_flow; pub struct Migrator; #[async_trait::async_trait] impl MigratorTrait for Migrator { fn migrations() -> Vec> { vec![ Box::new(m20260410_000001_create_tenant::Migration), Box::new(m20260411_000002_create_users::Migration), Box::new(m20260411_000003_create_user_credentials::Migration), Box::new(m20260411_000004_create_user_tokens::Migration), Box::new(m20260411_000005_create_roles::Migration), Box::new(m20260411_000006_create_permissions::Migration), Box::new(m20260411_000007_create_role_permissions::Migration), Box::new(m20260411_000008_create_user_roles::Migration), Box::new(m20260411_000009_create_organizations::Migration), Box::new(m20260411_000010_create_departments::Migration), Box::new(m20260411_000011_create_positions::Migration), Box::new(m20260412_000012_create_dictionaries::Migration), Box::new(m20260412_000013_create_dictionary_items::Migration), Box::new(m20260412_000014_create_menus::Migration), Box::new(m20260412_000015_create_menu_roles::Migration), Box::new(m20260412_000016_create_settings::Migration), Box::new(m20260412_000017_create_numbering_rules::Migration), Box::new(m20260412_000018_create_process_definitions::Migration), Box::new(m20260412_000019_create_process_instances::Migration), Box::new(m20260412_000020_create_tokens::Migration), Box::new(m20260412_000021_create_tasks::Migration), Box::new(m20260412_000022_create_process_variables::Migration), Box::new(m20260413_000023_create_message_templates::Migration), Box::new(m20260413_000024_create_messages::Migration), Box::new(m20260413_000025_create_message_subscriptions::Migration), Box::new(m20260413_000026_create_audit_logs::Migration), Box::new(m20260414_000027_fix_unique_indexes_soft_delete::Migration), Box::new(m20260414_000028_add_standard_fields_to_tokens::Migration), Box::new(m20260414_000029_add_standard_fields_to_process_variables::Migration), Box::new(m20260415_000030_add_version_to_message_tables::Migration), Box::new(m20260416_000031_create_domain_events::Migration), Box::new(m20260414_000032_fix_settings_unique_index_null::Migration), Box::new(m20260417_000033_create_plugins::Migration), Box::new(m20260417_000034_seed_plugin_permissions::Migration), Box::new(m20260418_000035_pg_trgm_and_entity_columns::Migration), Box::new(m20260418_000036_add_data_scope_to_role_permissions::Migration), Box::new(m20260419_000037_create_user_departments::Migration), Box::new(m20260419_000038_fix_crm_permission_codes::Migration), Box::new(m20260419_000039_entity_registry_columns::Migration), Box::new(m20260419_000040_plugin_market::Migration), Box::new(m20260419_000041_plugin_user_views::Migration), Box::new(m20260423_000042_create_health_tables::Migration), Box::new(m20260423_000043_create_wechat_users::Migration), Box::new(m20260423_000044_create_articles::Migration), Box::new(m20260424_000045_health_indexes::Migration), Box::new(m20260424_000046_health_constraints_fix::Migration), Box::new(m20260424_000047_health_index_fix::Migration), Box::new(m20260425_000048_add_patient_id_number_hash::Migration), Box::new(m20260425_000049_widen_patient_id_number::Migration), Box::new(m20260425_00050_add_doctor_name_column::Migration), Box::new(m20260425_000051_dialysis_and_lab_enhance::Migration), Box::new(m20260425_000052_create_ai_tables::Migration), Box::new(m20260425_000053_create_points_tables::Migration), Box::new(m20260425_000054_create_daily_monitoring::Migration), Box::new(m20260425_000055_points_checkin_standard_fields::Migration), Box::new(m20260426_000056_create_diagnosis::Migration), Box::new(m20260426_000057_rename_points_transaction_type_column::Migration), Box::new(m20260426_000058_merge_daily_monitoring_into_vital_signs::Migration), Box::new(m20260426_000059_seed_menus::Migration), Box::new(m20260426_000060_create_critical_value_thresholds::Migration), Box::new(m20260426_000061_create_consent::Migration), Box::new(m20260427_000062_create_tenant_crypto_keys::Migration), Box::new(m20260427_000063_content_management::Migration), Box::new(m20260427_000064_add_patient_pii_fields::Migration), Box::new(m20260427_000065_add_consultation_message_key_version::Migration), Box::new(m20260427_000066_add_follow_up_record_key_version::Migration), Box::new(m20260427_000067_add_family_member_pii_fields::Migration), Box::new(m20260427_000068_add_doctor_profile_pii_fields::Migration), Box::new(m20260427_000069_add_dialysis_record_key_version::Migration), Box::new(m20260427_000070_add_lab_report_key_version::Migration), Box::new(m20260427_000071_add_diagnosis_key_version::Migration), Box::new(m20260427_000072_widen_encrypted_phone_columns::Migration), Box::new(m20260426_000073_create_device_readings::Migration), Box::new(m20260426_000074_create_vital_signs_hourly::Migration), Box::new(m20260426_000075_create_patient_devices::Migration), Box::new(m20260426_000076_create_alert_rules::Migration), Box::new(m20260426_000077_create_alerts::Migration), Box::new(m20260427_000078_normalize_follow_up_types::Migration), Box::new(m20260427_000079_add_vital_signs_fields::Migration), Box::new(m20260427_000080_create_medication_record::Migration), Box::new(m20260427_000081_create_dialysis_prescription::Migration), Box::new(m20260427_000082_seed_ai_prompts::Migration), Box::new(m20260427_000083_create_follow_up_template::Migration), Box::new(m20260427_000084_domain_events_cleanup::Migration), Box::new(m20260427_000085_processed_events::Migration), Box::new(m20260427_000086_enable_rls_all_tables::Migration), Box::new(m20260427_000087_audit_logs_hash_chain::Migration), Box::new(m20260428_000088_rls_policy_strict::Migration), Box::new(m20260428_000089_blind_indexes::Migration), Box::new(m20260428_000090_critical_alerts::Migration), Box::new(m20260428_000091_dead_letter_events::Migration), Box::new(m20260429_000092_device_readings_metric::Migration), Box::new(m20260429_000093_trend_analysis_prompt_v2::Migration), Box::new(m20260429_000094_device_readings_unique_constraint::Migration), Box::new(m20260429_000095_seed_alert_device_menus::Migration), Box::new(m20260430_000096_create_medication_reminder::Migration), Box::new(m20260501_000097_seed_menu_permissions::Migration), Box::new(m20260501_000098_create_ai_suggestion::Migration), Box::new(m20260501_000099_create_ai_risk_threshold::Migration), Box::new(m20260501_000100_seed_action_inbox_menu::Migration), Box::new(m20260502_000101_seed_health_dictionaries::Migration), Box::new(m20260502_000102_seed_warning_thresholds::Migration), Box::new(m20260502_000103_seed_follow_up_template_menu::Migration), Box::new(m20260504_000104_create_vital_signs_daily::Migration), Box::new(m20260504_000105_alter_patient_devices_add_status::Migration), Box::new(m20260504_000106_create_api_clients::Migration), Box::new( m20260504_000107_alter_article_article_tag_add_tenant_and_soft_delete::Migration, ), Box::new(m20260504_000108_alter_vital_signs_hourly_add_soft_delete::Migration), Box::new(m20260504_000109_add_missing_fk_constraints::Migration), Box::new(m20260504_000110_alter_critical_alerts_version_i32::Migration), Box::new(m20260505_000111_create_care_plan::Migration), Box::new(m20260505_000112_create_shift_management::Migration), Box::new(m20260505_000113_create_ble_gateways::Migration), Box::new(m20260505_000114_dialysis_record_add_workflow_instance::Migration), Box::new(m20260505_000115_family_member_health_proxy::Migration), Box::new(m20260505_000116_seed_missing_health_menus::Migration), Box::new(m20260505_000117_create_ai_tenant_configs::Migration), Box::new(m20260505_000118_create_ai_analysis_queue::Migration), Box::new(m20260505_000119_enable_pgvector::Migration), Box::new(m20260505_000120_create_ai_knowledge_rules::Migration), Box::new(m20260505_000121_create_ai_knowledge_references::Migration), Box::new(m20260505_000122_create_ai_knowledge_guides::Migration), Box::new(m20260505_000123_update_ai_prompts_system_instruction::Migration), Box::new(m20260505_000124_freeze_deferred_menus::Migration), Box::new(m20260506_000125_restructure_menus_and_roles::Migration), Box::new(m20260506_000126_fix_role_permissions_cleanup::Migration), Box::new(m20260507_000127_fix_doctor_extra_permissions::Migration), Box::new(m20260507_000128_fix_alert_status_and_menu_perms::Migration), Box::new(m20260507_000129_fix_nurse_operator_points_permissions::Migration), Box::new(m20260508_000130_fix_operator_permissions_and_nurse_devices::Migration), Box::new(m20260508_000131_fix_all_role_permissions::Migration), Box::new(m20260508_000132_fix_doctor_permissions_restore::Migration), Box::new(m20260510_000133_create_patient_role::Migration), Box::new(m20260510_000134_create_media_folder::Migration), Box::new(m20260510_000135_create_media_item::Migration), Box::new(m20260510_000136_create_banner::Migration), Box::new(m20260510_000137_seed_media_banner_menus::Migration), Box::new(m20260512_000138_create_copilot_rules::Migration), Box::new(m20260512_000139_create_copilot_insights::Migration), Box::new(m20260512_000140_create_copilot_risk_snapshots::Migration), Box::new(m20260512_000141_create_copilot_chat_logs::Migration), Box::new(m20260512_000142_seed_copilot_rules::Migration), Box::new(m20260512_000143_seed_copilot_alert_rules::Migration), Box::new(m20260513_000144_enforce_version_optimistic_lock::Migration), Box::new(m20260513_000145_seed_missing_permissions::Migration), Box::new(m20260515_000146_seed_menu_permissions_phase2::Migration), Box::new(m20260516_000147_seed_ai_chat_permission::Migration), Box::new(m20260518_000148_create_ai_chat_tables::Migration), Box::new(m20260518_000149_fix_admin_permissions::Migration), Box::new(m20260518_000150_seed_ai_config_permission::Migration), Box::new(m20260518_000151_fix_ai_config_menu_parent::Migration), Box::new(m20260518_000152_seed_ai_provider_permission::Migration), Box::new(m20260518_000153_ai_health_butler_v2::Migration), Box::new(m20260519_000154_seed_ai_knowledge_permissions::Migration), Box::new(m20260519_000155_fix_ai_menus_and_add_chat::Migration), Box::new(m20260519_000156_fix_ai_menus_round2::Migration), Box::new(m20260520_000157_follow_up_source_and_points_rules::Migration), Box::new(m20260521_000158_alerts_add_source_columns::Migration), Box::new(m20260521_000159_patient_phone_and_consent_seed::Migration), Box::new(m20260521_000160_follow_up_task_template_id_and_record_form_data::Migration), Box::new(m20260521_000161_consultation_media_id_and_suggestion_references::Migration), Box::new(m20260521_000162_consultation_session_rating_feedback::Migration), Box::new(m20260521_000163_reorganize_menus_by_business_flow::Migration), ] } }