context: using System;
  using Microsoft.Data.Entity.Migrations;
  
  namespace Yavsc.Migrations
  {
      public partial class booking : Migration
      {
          protected override void Up(MigrationBuilder migrationBuilder)
          {
              migrationBuilder.DropForeignKey(name: "FK_IdentityRoleClaim<string>_IdentityRole_RoleId", table: "AspNetRoleClaims");
              migrationBuilder.DropForeignKey(name: "FK_IdentityUserClaim<string>_ApplicationUser_UserId", table: "AspNetUserClaims");
              migrationBuilder.DropForeignKey(name: "FK_IdentityUserLogin<string>_ApplicationUser_UserId", table: "AspNetUserLogins");
              migrationBuilder.DropForeignKey(name: "FK_IdentityUserRole<string>_IdentityRole_RoleId", table: "AspNetUserRoles");
              migrationBuilder.DropForeignKey(name: "FK_IdentityUserRole<string>_ApplicationUser_UserId", table: "AspNetUserRoles");
              migrationBuilder.DropForeignKey(name: "FK_AccountBalance_ApplicationUser_UserId", table: "AccountBalance");
              migrationBuilder.DropForeignKey(name: "FK_BalanceImpact_AccountBalance_BalanceId", table: "BalanceImpact");
              migrationBuilder.DropForeignKey(name: "FK_Blog_ApplicationUser_AuthorId", table: "Blog");
              migrationBuilder.DropForeignKey(name: "FK_CircleMember_Circle_CircleId", table: "CircleMember");
              migrationBuilder.DropForeignKey(name: "FK_CircleMember_ApplicationUser_MemberId", table: "CircleMember");
              migrationBuilder.DropForeignKey(name: "FK_Command_ApplicationUser_ClientId", table: "Command");
              migrationBuilder.DropForeignKey(name: "FK_Command_PerformerProfile_PerformerId", table: "Command");
              migrationBuilder.DropForeignKey(name: "FK_CommandLine_Query_QueryId", table: "CommandLine");
              migrationBuilder.DropForeignKey(name: "FK_Contact_ApplicationUser_OwnerId", table: "Contact");
              migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_Activity_ActivityCode", table: "PerformerProfile");
              migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_Location_OrganisationAddressId", table: "PerformerProfile");
              migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_ApplicationUser_PerfomerId", table: "PerformerProfile");
              migrationBuilder.DropColumn(name: "QueryId", table: "CommandLine");
              migrationBuilder.DropTable("Query");
              migrationBuilder.CreateTable(
                  name: "BookQuery",
                  columns: table => new
                  {
                      Id = table.Column<long>(nullable: false)
                          .Annotation("Npgsql:Serial", true),
                      ClientId = table.Column<string>(nullable: false),
                      EventDate = table.Column<DateTime>(nullable: false),
                      Lag = table.Column<int>(nullable: false),
                      LocationId = table.Column<long>(nullable: false),
                      PerformerId = table.Column<string>(nullable: false),
                      Previsional = table.Column<decimal>(nullable: true),
                      ValidationDate = table.Column<DateTime>(nullable: true)
                  },
                  constraints: table =>
                  {
                      table.PrimaryKey("PK_BookQuery", x => x.Id);
                      table.ForeignKey(
                          name: "FK_BookQuery_ApplicationUser_ClientId",
                          column: x => x.ClientId,
                          principalTable: "AspNetUsers",
                          principalColumn: "Id",
                          onDelete: ReferentialAction.Cascade);
                      table.ForeignKey(
                          name: "FK_BookQuery_Location_LocationId",
                          column: x => x.LocationId,
                          principalTable: "Location",
                          principalColumn: "Id",
                          onDelete: ReferentialAction.Cascade);
                      table.ForeignKey(
                          name: "FK_BookQuery_PerformerProfile_PerformerId",
                          column: x => x.PerformerId,
                          principalTable: "PerformerProfile",
                          principalColumn: "PerfomerId",
                          onDelete: ReferentialAction.Cascade);
                  });
              migrationBuilder.AddColumn<long>(
                  name: "BookQueryId",
                  table: "CommandLine",
                  nullable: true);
              migrationBuilder.AddForeignKey(
                  name: "FK_IdentityRoleClaim<string>_IdentityRole_RoleId",
                  table: "AspNetRoleClaims",
                  column: "RoleId",
                  principalTable: "AspNetRoles",
                  principalColumn: "Id",
                  onDelete: ReferentialAction.Cascade);
              migrationBuilder.AddForeignKey(
                  name: "FK_IdentityUserClaim<string>_ApplicationUser_UserId",
                  table: "AspNetUserClaims",
                  column: "UserId",
                  principalTable: "AspNetUsers",
                  principalColumn: "Id",
                  onDelete: ReferentialAction.Cascade);
              migrationBuilder.AddForeignKey(
                  name: "FK_IdentityUserLogin<string>_ApplicationUser_UserId",
                  table: "AspNetUserLogins",
                  column: "UserId",
                  principalTable: "AspNetUsers",
                  principalColumn: "Id",
                  onDelete: ReferentialAction.Cascade);
              migrationBuilder.AddForeignKey(
                  name: "FK_IdentityUserRole<string>_IdentityRole_RoleId",
                  table: "AspNetUserRoles",
                  column: "RoleId",
                  principalTable: "AspNetRoles",
                  principalColumn: "Id",
                  onDelete: ReferentialAction.Cascade);
              migrationBuilder.AddForeignKey(
                  name: "FK_IdentityUserRole<string>_ApplicationUser_UserId",
                  table: "AspNetUserRoles",
                  column: "UserId",
                  principalTable: "AspNetUsers",
                  principalColumn: "Id",
                  onDelete: ReferentialAction.Cascade);
              migrationBuilder.AddForeignKey(
                  name: "FK_AccountBalance_ApplicationUser_UserId",
                  table: "AccountBalance",
                  column: "UserId",
                  principalTable: "AspNetUsers",
                  principalColumn: "Id",
                  onDelete: ReferentialAction.Cascade);
              migrationBuilder.AddForeignKey(
                  name: "FK_BalanceImpact_AccountBalance_BalanceId",
                  table: "BalanceImpact",
                  column: "BalanceId",
                  principalTable: "AccountBalance",
                  principalColumn: "UserId",
                  onDelete: ReferentialAction.Cascade);
              migrationBuilder.AddForeignKey(
                  name: "FK_Blog_ApplicationUser_AuthorId",
                  table: "Blog",
                  column: "AuthorId",
                  principalTable: "AspNetUsers",
                  principalColumn: "Id",
                  onDelete: ReferentialAction.Cascade);
              migrationBuilder.AddForeignKey(
                  name: "FK_CircleMember_Circle_CircleId",
                  table: "CircleMember",
                  column: "CircleId",
                  principalTable: "Circle",
                  principalColumn: "Id",
                  onDelete: ReferentialAction.Cascade);
              migrationBuilder.AddForeignKey(
                  name: "FK_CircleMember_ApplicationUser_MemberId",
                  table: "CircleMember",
                  column: "MemberId",
                  principalTable: "AspNetUsers",
                  principalColumn: "Id",
                  onDelete: ReferentialAction.Cascade);
              migrationBuilder.AddForeignKey(
                  name: "FK_Command_ApplicationUser_ClientId",
                  table: "Command",
                  column: "ClientId",
                  principalTable: "AspNetUsers",
                  principalColumn: "Id",
                  onDelete: ReferentialAction.Cascade);
              migrationBuilder.AddForeignKey(
                  name: "FK_Command_PerformerProfile_PerformerId",
                  table: "Command",
                  column: "PerformerId",
                  principalTable: "PerformerProfile",
                  principalColumn: "PerfomerId",
                  onDelete: ReferentialAction.Cascade);
              migrationBuilder.AddForeignKey(
                  name: "FK_CommandLine_BookQuery_BookQueryId",
                  table: "CommandLine",
                  column: "BookQueryId",
                  principalTable: "BookQuery",
                  principalColumn: "Id",
                  onDelete: ReferentialAction.Restrict);
              migrationBuilder.AddForeignKey(
                  name: "FK_Contact_ApplicationUser_OwnerId",
                  table: "Contact",
                  column: "OwnerId",
                  principalTable: "AspNetUsers",
                  principalColumn: "Id",
                  onDelete: ReferentialAction.Cascade);
              migrationBuilder.AddForeignKey(
                  name: "FK_PerformerProfile_Activity_ActivityCode",
                  table: "PerformerProfile",
                  column: "ActivityCode",
                  principalTable: "Activity",
                  principalColumn: "Code",
                  onDelete: ReferentialAction.Cascade);
              migrationBuilder.AddForeignKey(
                  name: "FK_PerformerProfile_Location_OrganisationAddressId",
                  table: "PerformerProfile",
                  column: "OrganisationAddressId",
                  principalTable: "Location",
                  principalColumn: "Id",
                  onDelete: ReferentialAction.Cascade);
              migrationBuilder.AddForeignKey(
                  name: "FK_PerformerProfile_ApplicationUser_PerfomerId",
                  table: "PerformerProfile",
                  column: "PerfomerId",
                  principalTable: "AspNetUsers",
                  principalColumn: "Id",
                  onDelete: ReferentialAction.Cascade);
          }
  
          protected override void Down(MigrationBuilder migrationBuilder)
          {
              migrationBuilder.DropForeignKey(name: "FK_IdentityRoleClaim<string>_IdentityRole_RoleId", table: "AspNetRoleClaims");
              migrationBuilder.DropForeignKey(name: "FK_IdentityUserClaim<string>_ApplicationUser_UserId", table: "AspNetUserClaims");
              migrationBuilder.DropForeignKey(name: "FK_IdentityUserLogin<string>_ApplicationUser_UserId", table: "AspNetUserLogins");
              migrationBuilder.DropForeignKey(name: "FK_IdentityUserRole<string>_IdentityRole_RoleId", table: "AspNetUserRoles");
              migrationBuilder.DropForeignKey(name: "FK_IdentityUserRole<string>_ApplicationUser_UserId", table: "AspNetUserRoles");
              migrationBuilder.DropForeignKey(name: "FK_AccountBalance_ApplicationUser_UserId", table: "AccountBalance");
              migrationBuilder.DropForeignKey(name: "FK_BalanceImpact_AccountBalance_BalanceId", table: "BalanceImpact");
              migrationBuilder.DropForeignKey(name: "FK_Blog_ApplicationUser_AuthorId", table: "Blog");
              migrationBuilder.DropForeignKey(name: "FK_CircleMember_Circle_CircleId", table: "CircleMember");
              migrationBuilder.DropForeignKey(name: "FK_CircleMember_ApplicationUser_MemberId", table: "CircleMember");
              migrationBuilder.DropForeignKey(name: "FK_Command_ApplicationUser_ClientId", table: "Command");
              migrationBuilder.DropForeignKey(name: "FK_Command_PerformerProfile_PerformerId", table: "Command");
              migrationBuilder.DropForeignKey(name: "FK_CommandLine_BookQuery_BookQueryId", table: "CommandLine");
              migrationBuilder.DropForeignKey(name: "FK_Contact_ApplicationUser_OwnerId", table: "Contact");
              migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_Activity_ActivityCode", table: "PerformerProfile");
              migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_Location_OrganisationAddressId", table: "PerformerProfile");
              migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_ApplicationUser_PerfomerId", table: "PerformerProfile");
              migrationBuilder.DropColumn(name: "BookQueryId", table: "CommandLine");
              migrationBuilder.DropTable("BookQuery");
              migrationBuilder.CreateTable(
                  name: "Query",
                  columns: table => new
                  {
                      Id = table.Column<long>(nullable: false)
                          .Annotation("Npgsql:Serial", true),
                      ClientId = table.Column<string>(nullable: false),
                      EventDate = table.Column<DateTime>(nullable: false),
  
gt:                     Lag = table.Column<int>(nullable: false),