using Microsoft.EntityFrameworkCore.Migrations; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using System; #nullable disable namespace AsbCloudDb.Migrations { public partial class Add_Driller_and_Schedule : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.AlterColumn( name: "caption", table: "t_well_type", type: "character varying(255)", maxLength: 255, nullable: false, defaultValue: "", comment: "Название", oldClrType: typeof(string), oldType: "character varying(255)", oldMaxLength: 255, oldNullable: true, oldComment: "Название"); migrationBuilder.AlterColumn( name: "caption", table: "t_well_section_type", type: "character varying(255)", maxLength: 255, nullable: false, defaultValue: "", comment: "Название", oldClrType: typeof(string), oldType: "character varying(255)", oldMaxLength: 255, oldNullable: true, oldComment: "Название"); migrationBuilder.CreateTable( name: "t_driller", columns: table => new { id = table.Column(type: "integer", nullable: false, comment: "Идентификатор") .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), name = table.Column(type: "character varying(255)", maxLength: 255, nullable: false, comment: "Имя"), surname = table.Column(type: "character varying(255)", maxLength: 255, nullable: false, comment: "Фамилия"), patronymic = table.Column(type: "character varying(255)", maxLength: 255, nullable: false, comment: "Отчество") }, constraints: table => { table.PrimaryKey("PK_t_driller", x => x.id); }, comment: "Бурильщик"); migrationBuilder.CreateTable( name: "t_schedule", columns: table => new { id = table.Column(type: "integer", nullable: false, comment: "Идентификатор") .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), id_driller = table.Column(type: "integer", nullable: false, comment: "Идентификатор бурильщика"), id_well = table.Column(type: "integer", nullable: false, comment: "Идентификатор скважины"), shift_start = table.Column(type: "time without time zone", nullable: false, comment: "Начало смены"), shift_end = table.Column(type: "time without time zone", nullable: false, comment: "Конец смены"), drill_start = table.Column(type: "timestamp with time zone", nullable: false, comment: "Начало вахты"), drill_end = table.Column(type: "timestamp with time zone", nullable: false, comment: "Конец вахты") }, constraints: table => { table.PrimaryKey("PK_t_schedule", x => x.id); table.ForeignKey( name: "FK_t_schedule_t_well_id_well", column: x => x.id_well, principalTable: "t_well", principalColumn: "id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "t_schedule_t_driller_id_driller", column: x => x.id_driller, principalTable: "t_driller", principalColumn: "id", onDelete: ReferentialAction.Cascade); }, comment: "График работы бурильщика"); migrationBuilder.CreateIndex( name: "IX_t_schedule_id_driller", table: "t_schedule", column: "id_driller"); migrationBuilder.CreateIndex( name: "IX_t_schedule_id_well", table: "t_schedule", column: "id_well"); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "t_schedule"); migrationBuilder.DropTable( name: "t_driller"); migrationBuilder.AlterColumn( name: "caption", table: "t_well_type", type: "character varying(255)", maxLength: 255, nullable: true, comment: "Название", oldClrType: typeof(string), oldType: "character varying(255)", oldMaxLength: 255, oldComment: "Название"); migrationBuilder.AlterColumn( name: "caption", table: "t_well_section_type", type: "character varying(255)", maxLength: 255, nullable: true, comment: "Название", oldClrType: typeof(string), oldType: "character varying(255)", oldMaxLength: 255, oldComment: "Название"); } } }