using System; using Microsoft.EntityFrameworkCore.Migrations; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace AsbCloudDb.Migrations { public partial class Daily_report_lost_migration : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "DailyReport"); 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.UpdateData( table: "t_company_type", keyColumn: "id", keyValue: 1, column: "is_contact", value: true); migrationBuilder.UpdateData( table: "t_company_type", keyColumn: "id", keyValue: 2, column: "is_contact", value: true); migrationBuilder.UpdateData( table: "t_company_type", keyColumn: "id", keyValue: 3, column: "is_contact", value: true); migrationBuilder.UpdateData( table: "t_company_type", keyColumn: "id", keyValue: 7, column: "is_contact", value: false); migrationBuilder.UpdateData( table: "t_company_type", keyColumn: "id", keyValue: 12, column: "order", value: 8); migrationBuilder.InsertData( table: "t_company_type", columns: new[] { "id", "caption", "is_contact", "order" }, values: new object[] { 11, "Дизельный сервис", false, 9 }); migrationBuilder.CreateIndex( name: "IX_t_daily_report_id_well_date", table: "t_daily_report", columns: new[] { "id_well", "date" }, unique: true); migrationBuilder.AddForeignKey( name: "FK_t_daily_report_t_well_id_well", table: "t_daily_report", column: "id_well", principalTable: "t_well", principalColumn: "id", onDelete: ReferentialAction.Cascade); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropForeignKey( name: "FK_t_daily_report_t_well_id_well", 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.DeleteData( table: "t_company_type", keyColumn: "id", keyValue: 11); 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: false, defaultValue: "", comment: "Список параметров для отчёта"); migrationBuilder.AddPrimaryKey( name: "t_id_well_date_start_pk", table: "t_daily_report", columns: new[] { "id_well", "start_date" }); migrationBuilder.CreateTable( name: "DailyReport", columns: table => new { IdWell = table.Column(type: "integer", nullable: true) }, constraints: table => { table.ForeignKey( name: "FK_DailyReport_t_well_IdWell", column: x => x.IdWell, principalTable: "t_well", principalColumn: "id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.UpdateData( table: "t_company_type", keyColumn: "id", keyValue: 1, column: "is_contact", value: false); migrationBuilder.UpdateData( table: "t_company_type", keyColumn: "id", keyValue: 2, column: "is_contact", value: false); migrationBuilder.UpdateData( table: "t_company_type", keyColumn: "id", keyValue: 3, column: "is_contact", value: false); migrationBuilder.UpdateData( table: "t_company_type", keyColumn: "id", keyValue: 7, column: "is_contact", value: true); migrationBuilder.UpdateData( table: "t_company_type", keyColumn: "id", keyValue: 12, column: "order", value: 7); } } }