using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ManagerService.Migrations
{
///
public partial class AddStatsHistoryToSubscriptionPlan : Migration
{
///
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn(
name: "HasAdvancedStats",
table: "SubscriptionPlans",
type: "boolean",
nullable: false,
defaultValue: false);
migrationBuilder.AddColumn(
name: "StatsHistoryDays",
table: "SubscriptionPlans",
type: "integer",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn(
name: "AppVersion",
table: "Devices",
type: "text",
nullable: true);
migrationBuilder.AddColumn(
name: "LastSeen",
table: "Devices",
type: "timestamp with time zone",
nullable: true);
migrationBuilder.CreateTable(
name: "AuditLogs",
columns: table => new
{
Id = table.Column(type: "text", nullable: false),
EntityType = table.Column(type: "text", nullable: true),
EntityId = table.Column(type: "text", nullable: true),
Action = table.Column(type: "text", nullable: true),
UserId = table.Column(type: "text", nullable: true),
InstanceId = table.Column(type: "text", nullable: true),
Timestamp = table.Column(type: "timestamp with time zone", nullable: false),
OldValues = table.Column(type: "text", nullable: true),
NewValues = table.Column(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AuditLogs", x => x.Id);
});
migrationBuilder.UpdateData(
table: "SubscriptionPlans",
keyColumn: "Id",
keyValue: "plan-premium",
columns: new[] { "HasAdvancedStats", "StatsHistoryDays" },
values: new object[] { false, 30 });
migrationBuilder.UpdateData(
table: "SubscriptionPlans",
keyColumn: "Id",
keyValue: "plan-standard",
columns: new[] { "HasAdvancedStats", "StatsHistoryDays" },
values: new object[] { false, 30 });
migrationBuilder.UpdateData(
table: "SubscriptionPlans",
keyColumn: "Id",
keyValue: "plan-starter",
columns: new[] { "HasAdvancedStats", "StatsHistoryDays" },
values: new object[] { false, 30 });
}
///
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "AuditLogs");
migrationBuilder.DropColumn(
name: "HasAdvancedStats",
table: "SubscriptionPlans");
migrationBuilder.DropColumn(
name: "StatsHistoryDays",
table: "SubscriptionPlans");
migrationBuilder.DropColumn(
name: "AppVersion",
table: "Devices");
migrationBuilder.DropColumn(
name: "LastSeen",
table: "Devices");
}
}
}