From 751f90c365cd23136fa856926f1205ac920cb971 Mon Sep 17 00:00:00 2001 From: Ho Ngoc Hai Date: Sat, 28 Feb 2026 01:03:43 +0700 Subject: [PATCH] feat: Log EF Core migration errors instead of crashing the application at startup across all services. --- .../src/AdsAnalyticsService.API/Program.cs | 15 ++++++++++++--- .../src/AdsBillingService.API/Program.cs | 15 ++++++++++++--- .../src/AdsManagerService.API/Program.cs | 15 ++++++++++++--- .../src/AdsServingService.API/Program.cs | 15 ++++++++++++--- .../src/AdsTrackingService.API/Program.cs | 15 ++++++++++++--- .../src/BookingService.API/Program.cs | 15 ++++++++++++--- .../src/CatalogService.API/Program.cs | 15 ++++++++++++--- .../src/ChatService.API/Program.cs | 15 ++++++++++++--- .../fnb-engine-net/src/FnbEngine.API/Program.cs | 15 ++++++++++++--- .../src/InventoryService.API/Program.cs | 15 ++++++++++++--- .../src/MembershipService.API/Program.cs | 15 ++++++++++++--- .../src/MerchantService.API/Program.cs | 15 ++++++++++++--- .../src/MiningService.API/Program.cs | 15 ++++++++++++--- .../src/MissionService.API/Program.cs | 15 ++++++++++++--- .../src/OrderService.API/Program.cs | 15 ++++++++++++--- .../src/PromotionService.API/Program.cs | 15 ++++++++++++--- .../src/SocialService.API/Program.cs | 15 ++++++++++++--- .../src/StorageService.API/Program.cs | 15 ++++++++++++--- .../src/WalletService.API/Program.cs | 15 ++++++++++++--- 19 files changed, 228 insertions(+), 57 deletions(-) diff --git a/services/ads-analytics-service-net/src/AdsAnalyticsService.API/Program.cs b/services/ads-analytics-service-net/src/AdsAnalyticsService.API/Program.cs index ed0e5bab..511a89d8 100644 --- a/services/ads-analytics-service-net/src/AdsAnalyticsService.API/Program.cs +++ b/services/ads-analytics-service-net/src/AdsAnalyticsService.API/Program.cs @@ -130,10 +130,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/ads-billing-service-net/src/AdsBillingService.API/Program.cs b/services/ads-billing-service-net/src/AdsBillingService.API/Program.cs index 11a93ee5..dcc6d2a5 100644 --- a/services/ads-billing-service-net/src/AdsBillingService.API/Program.cs +++ b/services/ads-billing-service-net/src/AdsBillingService.API/Program.cs @@ -130,10 +130,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/ads-manager-service-net/src/AdsManagerService.API/Program.cs b/services/ads-manager-service-net/src/AdsManagerService.API/Program.cs index 1ba3015e..0cf74682 100644 --- a/services/ads-manager-service-net/src/AdsManagerService.API/Program.cs +++ b/services/ads-manager-service-net/src/AdsManagerService.API/Program.cs @@ -130,10 +130,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/ads-serving-service-net/src/AdsServingService.API/Program.cs b/services/ads-serving-service-net/src/AdsServingService.API/Program.cs index 64134afe..ea5e6904 100644 --- a/services/ads-serving-service-net/src/AdsServingService.API/Program.cs +++ b/services/ads-serving-service-net/src/AdsServingService.API/Program.cs @@ -135,10 +135,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/ads-tracking-service-net/src/AdsTrackingService.API/Program.cs b/services/ads-tracking-service-net/src/AdsTrackingService.API/Program.cs index b366e381..fa1b066e 100644 --- a/services/ads-tracking-service-net/src/AdsTrackingService.API/Program.cs +++ b/services/ads-tracking-service-net/src/AdsTrackingService.API/Program.cs @@ -130,10 +130,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/booking-service-net/src/BookingService.API/Program.cs b/services/booking-service-net/src/BookingService.API/Program.cs index 83e4a7e9..7821c13e 100644 --- a/services/booking-service-net/src/BookingService.API/Program.cs +++ b/services/booking-service-net/src/BookingService.API/Program.cs @@ -149,10 +149,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/catalog-service-net/src/CatalogService.API/Program.cs b/services/catalog-service-net/src/CatalogService.API/Program.cs index 68bd2b28..2a747c83 100644 --- a/services/catalog-service-net/src/CatalogService.API/Program.cs +++ b/services/catalog-service-net/src/CatalogService.API/Program.cs @@ -149,10 +149,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/chat-service-net/src/ChatService.API/Program.cs b/services/chat-service-net/src/ChatService.API/Program.cs index 3026900b..539c3e1f 100644 --- a/services/chat-service-net/src/ChatService.API/Program.cs +++ b/services/chat-service-net/src/ChatService.API/Program.cs @@ -205,10 +205,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/fnb-engine-net/src/FnbEngine.API/Program.cs b/services/fnb-engine-net/src/FnbEngine.API/Program.cs index d7bc32c1..1235fc54 100644 --- a/services/fnb-engine-net/src/FnbEngine.API/Program.cs +++ b/services/fnb-engine-net/src/FnbEngine.API/Program.cs @@ -149,10 +149,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/inventory-service-net/src/InventoryService.API/Program.cs b/services/inventory-service-net/src/InventoryService.API/Program.cs index 7bc4c91a..ae6178a0 100644 --- a/services/inventory-service-net/src/InventoryService.API/Program.cs +++ b/services/inventory-service-net/src/InventoryService.API/Program.cs @@ -152,10 +152,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/membership-service-net/src/MembershipService.API/Program.cs b/services/membership-service-net/src/MembershipService.API/Program.cs index c003cd54..05fd84c2 100644 --- a/services/membership-service-net/src/MembershipService.API/Program.cs +++ b/services/membership-service-net/src/MembershipService.API/Program.cs @@ -200,10 +200,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/merchant-service-net/src/MerchantService.API/Program.cs b/services/merchant-service-net/src/MerchantService.API/Program.cs index 56c6fd5c..44df3eba 100644 --- a/services/merchant-service-net/src/MerchantService.API/Program.cs +++ b/services/merchant-service-net/src/MerchantService.API/Program.cs @@ -153,10 +153,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/mining-service-net/src/MiningService.API/Program.cs b/services/mining-service-net/src/MiningService.API/Program.cs index 5eaf53cf..1fdead25 100644 --- a/services/mining-service-net/src/MiningService.API/Program.cs +++ b/services/mining-service-net/src/MiningService.API/Program.cs @@ -220,10 +220,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/mission-service-net/src/MissionService.API/Program.cs b/services/mission-service-net/src/MissionService.API/Program.cs index a4fa12da..fe12614c 100644 --- a/services/mission-service-net/src/MissionService.API/Program.cs +++ b/services/mission-service-net/src/MissionService.API/Program.cs @@ -150,10 +150,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/order-service-net/src/OrderService.API/Program.cs b/services/order-service-net/src/OrderService.API/Program.cs index e433d7c7..ec02f376 100644 --- a/services/order-service-net/src/OrderService.API/Program.cs +++ b/services/order-service-net/src/OrderService.API/Program.cs @@ -212,10 +212,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/promotion-service-net/src/PromotionService.API/Program.cs b/services/promotion-service-net/src/PromotionService.API/Program.cs index 5c93ac3a..32f6ba0f 100644 --- a/services/promotion-service-net/src/PromotionService.API/Program.cs +++ b/services/promotion-service-net/src/PromotionService.API/Program.cs @@ -194,10 +194,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/social-service-net/src/SocialService.API/Program.cs b/services/social-service-net/src/SocialService.API/Program.cs index 8a8722da..c4448e6e 100644 --- a/services/social-service-net/src/SocialService.API/Program.cs +++ b/services/social-service-net/src/SocialService.API/Program.cs @@ -156,10 +156,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/storage-service-net/src/StorageService.API/Program.cs b/services/storage-service-net/src/StorageService.API/Program.cs index 48a0a204..b7bcba66 100644 --- a/services/storage-service-net/src/StorageService.API/Program.cs +++ b/services/storage-service-net/src/StorageService.API/Program.cs @@ -185,10 +185,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run(); diff --git a/services/wallet-service-net/src/WalletService.API/Program.cs b/services/wallet-service-net/src/WalletService.API/Program.cs index 930756d0..cf9cb504 100644 --- a/services/wallet-service-net/src/WalletService.API/Program.cs +++ b/services/wallet-service-net/src/WalletService.API/Program.cs @@ -179,10 +179,19 @@ try // EN: Run the application / VI: Chạy ứng dụng // EN: Auto-apply EF Core migrations on startup // VI: Tự động áp dụng EF Core migrations khi khởi động - using (var scope = app.Services.CreateScope()) + try { - var dbContext = scope.ServiceProvider.GetRequiredService(); - await dbContext.Database.MigrateAsync(); + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + await dbContext.Database.MigrateAsync(); + } + } + catch (Exception ex) + { + // EN: Log migration errors but don't crash the app (e.g. PendingModelChangesWarning in EF Core 10) + // VI: Log lỗi migration nhưng không crash app + Console.WriteLine($"Warning: EF Core migration issue: {ex.Message}"); } app.Run();