using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace ManagerService.Migrations { /// public partial class UnifyStatsRetentionTo13Months : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.UpdateData( table: "SubscriptionPlans", keyColumn: "Id", keyValue: "plan-essentiel", column: "StatsHistoryDays", value: 395); migrationBuilder.UpdateData( table: "SubscriptionPlans", keyColumn: "Id", keyValue: "plan-premium", column: "StatsHistoryDays", value: 395); migrationBuilder.UpdateData( table: "SubscriptionPlans", keyColumn: "Id", keyValue: "plan-standard", column: "StatsHistoryDays", value: 395); // Les quotas sont copiés du plan vers l'instance à la création, et c'est // l'instance que lit StatsController. Sans cette reprise, les clients // existants resteraient plafonnés à 30 jours malgré le changement de plan. migrationBuilder.Sql(@" UPDATE ""Instances"" i SET ""StatsHistoryDays"" = p.""StatsHistoryDays"" FROM ""SubscriptionPlans"" p WHERE i.""SubscriptionPlanId"" = p.""Id"" AND i.""HasStats"" = true;"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.UpdateData( table: "SubscriptionPlans", keyColumn: "Id", keyValue: "plan-essentiel", column: "StatsHistoryDays", value: 30); migrationBuilder.UpdateData( table: "SubscriptionPlans", keyColumn: "Id", keyValue: "plan-premium", column: "StatsHistoryDays", value: 0); migrationBuilder.UpdateData( table: "SubscriptionPlans", keyColumn: "Id", keyValue: "plan-standard", column: "StatsHistoryDays", value: 30); migrationBuilder.Sql(@" UPDATE ""Instances"" i SET ""StatsHistoryDays"" = p.""StatsHistoryDays"" FROM ""SubscriptionPlans"" p WHERE i.""SubscriptionPlanId"" = p.""Id"" AND i.""HasStats"" = true;"); } } }