using System; using Microsoft.EntityFrameworkCore.Migrations; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace FurnitureAssemblyDatabaseImplement.Migrations { /// public partial class Init : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Roles", columns: table => new { Id = table.Column(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), Name = table.Column(type: "text", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Roles", x => x.Id); }); migrationBuilder.CreateTable( name: "Scopes", columns: table => new { Id = table.Column(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), Name = table.Column(type: "text", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Scopes", x => x.Id); }); migrationBuilder.CreateTable( name: "Users", columns: table => new { Id = table.Column(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), Login = table.Column(type: "text", nullable: false), Password = table.Column(type: "text", nullable: false), Name = table.Column(type: "text", nullable: false), RoleId = table.Column(type: "integer", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Users", x => x.Id); table.ForeignKey( name: "FK_Users_Roles_RoleId", column: x => x.RoleId, principalTable: "Roles", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "FurnitureModules", columns: table => new { Id = table.Column(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), Name = table.Column(type: "text", nullable: false), Cost = table.Column(type: "double precision", nullable: false), DateCreate = table.Column(type: "timestamp with time zone", nullable: false), UserId = table.Column(type: "integer", nullable: false) }, constraints: table => { table.PrimaryKey("PK_FurnitureModules", x => x.Id); table.ForeignKey( name: "FK_FurnitureModules_Users_UserId", column: x => x.UserId, principalTable: "Users", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Furnitures", columns: table => new { Id = table.Column(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), Name = table.Column(type: "text", nullable: false), Cost = table.Column(type: "double precision", nullable: false), DateCreate = table.Column(type: "timestamp with time zone", nullable: false), UserId = table.Column(type: "integer", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Furnitures", x => x.Id); table.ForeignKey( name: "FK_Furnitures_Users_UserId", column: x => x.UserId, principalTable: "Users", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Materials", columns: table => new { Id = table.Column(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), Name = table.Column(type: "text", nullable: false), Cost = table.Column(type: "double precision", nullable: false), ScopeId = table.Column(type: "integer", nullable: false), UserId = table.Column(type: "integer", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Materials", x => x.Id); table.ForeignKey( name: "FK_Materials_Scopes_ScopeId", column: x => x.ScopeId, principalTable: "Scopes", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_Materials_Users_UserId", column: x => x.UserId, principalTable: "Users", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "OrderInfos", columns: table => new { Id = table.Column(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), CustomerName = table.Column(type: "text", nullable: false), PaymentType = table.Column(type: "integer", nullable: false), DateCreate = table.Column(type: "timestamp with time zone", nullable: false), Sum = table.Column(type: "double precision", nullable: false), UserId = table.Column(type: "integer", nullable: false) }, constraints: table => { table.PrimaryKey("PK_OrderInfos", x => x.Id); table.ForeignKey( name: "FK_OrderInfos_Users_UserId", column: x => x.UserId, principalTable: "Users", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Sets", columns: table => new { Id = table.Column(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), Name = table.Column(type: "text", nullable: false), Cost = table.Column(type: "double precision", nullable: false), DateCreate = table.Column(type: "timestamp with time zone", nullable: false), UserId = table.Column(type: "integer", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Sets", x => x.Id); table.ForeignKey( name: "FK_Sets_Users_UserId", column: x => x.UserId, principalTable: "Users", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "FurnitureModuleFurnitures", columns: table => new { Id = table.Column(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), FurnitureModuleId = table.Column(type: "integer", nullable: false), FurnitureId = table.Column(type: "integer", nullable: false), Count = table.Column(type: "integer", nullable: false) }, constraints: table => { table.PrimaryKey("PK_FurnitureModuleFurnitures", x => x.Id); table.ForeignKey( name: "FK_FurnitureModuleFurnitures_FurnitureModules_FurnitureModuleId", column: x => x.FurnitureModuleId, principalTable: "FurnitureModules", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_FurnitureModuleFurnitures_Furnitures_FurnitureId", column: x => x.FurnitureId, principalTable: "Furnitures", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "FurnitureMaterials", columns: table => new { Id = table.Column(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), FurnitureId = table.Column(type: "integer", nullable: false), MaterialId = table.Column(type: "integer", nullable: false), Count = table.Column(type: "integer", nullable: false) }, constraints: table => { table.PrimaryKey("PK_FurnitureMaterials", x => x.Id); table.ForeignKey( name: "FK_FurnitureMaterials_Furnitures_FurnitureId", column: x => x.FurnitureId, principalTable: "Furnitures", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_FurnitureMaterials_Materials_MaterialId", column: x => x.MaterialId, principalTable: "Materials", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Orders", columns: table => new { Id = table.Column(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), SetId = table.Column(type: "integer", nullable: false), Count = table.Column(type: "integer", nullable: false), OrderInfoId = table.Column(type: "integer", nullable: false), UserId = table.Column(type: "integer", nullable: true) }, constraints: table => { table.PrimaryKey("PK_Orders", x => x.Id); table.ForeignKey( name: "FK_Orders_Sets_SetId", column: x => x.SetId, principalTable: "Sets", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_Orders_Users_UserId", column: x => x.UserId, principalTable: "Users", principalColumn: "Id"); }); migrationBuilder.CreateTable( name: "SetFurnitureModules", columns: table => new { Id = table.Column(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), SetId = table.Column(type: "integer", nullable: false), FurnitureModuleId = table.Column(type: "integer", nullable: false), Count = table.Column(type: "integer", nullable: false) }, constraints: table => { table.PrimaryKey("PK_SetFurnitureModules", x => x.Id); table.ForeignKey( name: "FK_SetFurnitureModules_FurnitureModules_FurnitureModuleId", column: x => x.FurnitureModuleId, principalTable: "FurnitureModules", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_SetFurnitureModules_Sets_SetId", column: x => x.SetId, principalTable: "Sets", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_FurnitureMaterials_FurnitureId", table: "FurnitureMaterials", column: "FurnitureId"); migrationBuilder.CreateIndex( name: "IX_FurnitureMaterials_MaterialId", table: "FurnitureMaterials", column: "MaterialId"); migrationBuilder.CreateIndex( name: "IX_FurnitureModuleFurnitures_FurnitureId", table: "FurnitureModuleFurnitures", column: "FurnitureId"); migrationBuilder.CreateIndex( name: "IX_FurnitureModuleFurnitures_FurnitureModuleId", table: "FurnitureModuleFurnitures", column: "FurnitureModuleId"); migrationBuilder.CreateIndex( name: "IX_FurnitureModules_UserId", table: "FurnitureModules", column: "UserId"); migrationBuilder.CreateIndex( name: "IX_Furnitures_UserId", table: "Furnitures", column: "UserId"); migrationBuilder.CreateIndex( name: "IX_Materials_ScopeId", table: "Materials", column: "ScopeId"); migrationBuilder.CreateIndex( name: "IX_Materials_UserId", table: "Materials", column: "UserId"); migrationBuilder.CreateIndex( name: "IX_OrderInfos_UserId", table: "OrderInfos", column: "UserId"); migrationBuilder.CreateIndex( name: "IX_Orders_SetId", table: "Orders", column: "SetId"); migrationBuilder.CreateIndex( name: "IX_Orders_UserId", table: "Orders", column: "UserId"); migrationBuilder.CreateIndex( name: "IX_SetFurnitureModules_FurnitureModuleId", table: "SetFurnitureModules", column: "FurnitureModuleId"); migrationBuilder.CreateIndex( name: "IX_SetFurnitureModules_SetId", table: "SetFurnitureModules", column: "SetId"); migrationBuilder.CreateIndex( name: "IX_Sets_UserId", table: "Sets", column: "UserId"); migrationBuilder.CreateIndex( name: "IX_Users_RoleId", table: "Users", column: "RoleId"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "FurnitureMaterials"); migrationBuilder.DropTable( name: "FurnitureModuleFurnitures"); migrationBuilder.DropTable( name: "OrderInfos"); migrationBuilder.DropTable( name: "Orders"); migrationBuilder.DropTable( name: "SetFurnitureModules"); migrationBuilder.DropTable( name: "Materials"); migrationBuilder.DropTable( name: "Furnitures"); migrationBuilder.DropTable( name: "FurnitureModules"); migrationBuilder.DropTable( name: "Sets"); migrationBuilder.DropTable( name: "Scopes"); migrationBuilder.DropTable( name: "Users"); migrationBuilder.DropTable( name: "Roles"); } } }