using System; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace EveryThing.Migrations { public partial class _2 : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.DropForeignKey( name: "FK_InvoiceItems_Invoices_IdInvoiceFk", table: "InvoiceItems"); migrationBuilder.DropPrimaryKey( name: "PK_Invoices", table: "Invoices"); migrationBuilder.RenameColumn( name: "IdProject", table: "Invoices", newName: "Type"); migrationBuilder.AlterColumn( name: "Type", table: "Invoices", type: "int", nullable: false, oldClrType: typeof(int), oldType: "int") .OldAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn); migrationBuilder.AddColumn( name: "IdInvoice", table: "Invoices", type: "int", nullable: false, defaultValue: 0) .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn); migrationBuilder.AddColumn( name: "Date", table: "Invoices", type: "datetime(6)", nullable: false, defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); migrationBuilder.AddColumn( name: "IdPartnerFk", table: "Invoices", type: "int", nullable: false, defaultValue: 0); migrationBuilder.AddColumn( name: "Discount", table: "InvoiceItems", type: "double", nullable: false, defaultValue: 0.0); migrationBuilder.AddColumn( name: "IdItemFk", table: "InvoiceItems", type: "int", nullable: true); migrationBuilder.AddColumn( name: "IdProjectPartItem", table: "InvoiceItems", type: "int", nullable: false, defaultValue: 0); migrationBuilder.AddColumn( name: "ItemDescription", table: "InvoiceItems", type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"); migrationBuilder.AddColumn( name: "Note", table: "InvoiceItems", type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"); migrationBuilder.AddColumn( name: "Price", table: "InvoiceItems", type: "double", nullable: false, defaultValue: 0.0); migrationBuilder.AddColumn( name: "Quantity", table: "InvoiceItems", type: "double", nullable: false, defaultValue: 0.0); migrationBuilder.AddColumn( name: "Tax", table: "InvoiceItems", type: "double", nullable: false, defaultValue: 0.0); migrationBuilder.AddPrimaryKey( name: "PK_Invoices", table: "Invoices", column: "IdInvoice"); migrationBuilder.CreateIndex( name: "IX_Invoices_IdPartnerFk", table: "Invoices", column: "IdPartnerFk"); migrationBuilder.CreateIndex( name: "IX_InvoiceItems_IdItemFk", table: "InvoiceItems", column: "IdItemFk"); migrationBuilder.CreateIndex( name: "IX_InvoiceItems_IdProjectPartItem", table: "InvoiceItems", column: "IdProjectPartItem"); migrationBuilder.AddForeignKey( name: "FK_InvoiceItems_CodeTableItems_IdItemFk", table: "InvoiceItems", column: "IdItemFk", principalTable: "CodeTableItems", principalColumn: "IdItem"); migrationBuilder.AddForeignKey( name: "FK_InvoiceItems_Invoices_IdInvoiceFk", table: "InvoiceItems", column: "IdInvoiceFk", principalTable: "Invoices", principalColumn: "IdInvoice", onDelete: ReferentialAction.Restrict); migrationBuilder.AddForeignKey( name: "FK_InvoiceItems_ProjectPartItems_IdProjectPartItem", table: "InvoiceItems", column: "IdProjectPartItem", principalTable: "ProjectPartItems", principalColumn: "IdProjectPartItem", onDelete: ReferentialAction.Cascade); migrationBuilder.AddForeignKey( name: "FK_Invoices_CodeTablePartners_IdPartnerFk", table: "Invoices", column: "IdPartnerFk", principalTable: "CodeTablePartners", principalColumn: "IdPartner", onDelete: ReferentialAction.Cascade); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropForeignKey( name: "FK_InvoiceItems_CodeTableItems_IdItemFk", table: "InvoiceItems"); migrationBuilder.DropForeignKey( name: "FK_InvoiceItems_Invoices_IdInvoiceFk", table: "InvoiceItems"); migrationBuilder.DropForeignKey( name: "FK_InvoiceItems_ProjectPartItems_IdProjectPartItem", table: "InvoiceItems"); migrationBuilder.DropForeignKey( name: "FK_Invoices_CodeTablePartners_IdPartnerFk", table: "Invoices"); migrationBuilder.DropPrimaryKey( name: "PK_Invoices", table: "Invoices"); migrationBuilder.DropIndex( name: "IX_Invoices_IdPartnerFk", table: "Invoices"); migrationBuilder.DropIndex( name: "IX_InvoiceItems_IdItemFk", table: "InvoiceItems"); migrationBuilder.DropIndex( name: "IX_InvoiceItems_IdProjectPartItem", table: "InvoiceItems"); migrationBuilder.DropColumn( name: "IdInvoice", table: "Invoices"); migrationBuilder.DropColumn( name: "Date", table: "Invoices"); migrationBuilder.DropColumn( name: "IdPartnerFk", table: "Invoices"); migrationBuilder.DropColumn( name: "Discount", table: "InvoiceItems"); migrationBuilder.DropColumn( name: "IdItemFk", table: "InvoiceItems"); migrationBuilder.DropColumn( name: "IdProjectPartItem", table: "InvoiceItems"); migrationBuilder.DropColumn( name: "ItemDescription", table: "InvoiceItems"); migrationBuilder.DropColumn( name: "Note", table: "InvoiceItems"); migrationBuilder.DropColumn( name: "Price", table: "InvoiceItems"); migrationBuilder.DropColumn( name: "Quantity", table: "InvoiceItems"); migrationBuilder.DropColumn( name: "Tax", table: "InvoiceItems"); migrationBuilder.RenameColumn( name: "Type", table: "Invoices", newName: "IdProject"); migrationBuilder.AlterColumn( name: "IdProject", table: "Invoices", type: "int", nullable: false, oldClrType: typeof(int), oldType: "int") .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn); migrationBuilder.AddPrimaryKey( name: "PK_Invoices", table: "Invoices", column: "IdProject"); migrationBuilder.AddForeignKey( name: "FK_InvoiceItems_Invoices_IdInvoiceFk", table: "InvoiceItems", column: "IdInvoiceFk", principalTable: "Invoices", principalColumn: "IdProject", onDelete: ReferentialAction.Restrict); } } }