using System; using Microsoft.EntityFrameworkCore.Migrations; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace AsbCloudDb.Migrations { public partial class Update_DailyReport : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.Sql("Truncate table t_daily_report"); migrationBuilder.DropPrimaryKey( name: "t_id_well_date_start_pk", table: "t_daily_report"); migrationBuilder.DropColumn( name: "start_date", table: "t_daily_report"); migrationBuilder.DropColumn( name: "info", table: "t_daily_report"); migrationBuilder.AddColumn( name: "Id", table: "t_daily_report", type: "integer", nullable: false, defaultValue: 0) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); migrationBuilder.AddColumn( name: "date", table: "t_daily_report", type: "timestamp with time zone", nullable: false, defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), comment: "Дата формирования отчёта"); migrationBuilder.AddColumn( name: "date_last_update", table: "t_daily_report", type: "timestamp with time zone", nullable: true, comment: "Дата последнего обновления"); migrationBuilder.AddColumn( name: "sign_block", table: "t_daily_report", type: "jsonb", nullable: true, comment: "Подпись"); migrationBuilder.AddColumn( name: "subsystem_block", table: "t_daily_report", type: "jsonb", nullable: true, comment: "Наработкой подсистем"); migrationBuilder.AddColumn( name: "time_balance_block", table: "t_daily_report", type: "jsonb", nullable: true, comment: "Баланс времени"); migrationBuilder.AddPrimaryKey( name: "PK_t_daily_report", table: "t_daily_report", column: "Id"); migrationBuilder.CreateIndex( name: "IX_t_daily_report_id_well_date", table: "t_daily_report", columns: new[] { "id_well", "date" }, unique: true); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.Sql("Truncate table t_daily_report"); migrationBuilder.DropPrimaryKey( name: "PK_t_daily_report", table: "t_daily_report"); migrationBuilder.DropIndex( name: "IX_t_daily_report_id_well_date", table: "t_daily_report"); migrationBuilder.DropColumn( name: "Id", table: "t_daily_report"); migrationBuilder.DropColumn( name: "date", table: "t_daily_report"); migrationBuilder.DropColumn( name: "date_last_update", table: "t_daily_report"); migrationBuilder.DropColumn( name: "sign_block", table: "t_daily_report"); migrationBuilder.DropColumn( name: "subsystem_block", table: "t_daily_report"); migrationBuilder.DropColumn( name: "time_balance_block", table: "t_daily_report"); migrationBuilder.AddColumn( name: "start_date", table: "t_daily_report", type: "date", nullable: false, defaultValue: new DateOnly(1, 1, 1), comment: "Дата отчёта"); migrationBuilder.AddColumn( name: "info", table: "t_daily_report", type: "jsonb", nullable: true, comment: "Список параметров для отчёта"); migrationBuilder.AddPrimaryKey( name: "t_id_well_date_start_pk", table: "t_daily_report", columns: new[] { "id_well", "start_date" }); } } }