using Microsoft.EntityFrameworkCore.Migrations; namespace UserService.DatabaseLayer.Migrations { public partial class InitialCreate : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Node", columns: table => new { Id = table.Column(nullable: false) .Annotation("Sqlite:Autoincrement", true), CommonName = table.Column(nullable: false), Description = table.Column(nullable: true), ParentId = table.Column(nullable: true), Discriminator = table.Column(nullable: false), EMail = table.Column(nullable: true), FirstName = table.Column(nullable: true), LastName = table.Column(nullable: true), IsActive = table.Column(nullable: true), ManagerId = table.Column(nullable: true) }, constraints: table => { table.PrimaryKey("PK_Node", x => x.Id); table.ForeignKey( name: "FK_Node_Node_ParentId", column: x => x.ParentId, principalTable: "Node", principalColumn: "Id", onDelete: ReferentialAction.Restrict); table.ForeignKey( name: "FK_Node_Node_ManagerId", column: x => x.ManagerId, principalTable: "Node", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( name: "UserMembers", columns: table => new { MemberId = table.Column(nullable: false), UserId = table.Column(nullable: false) }, constraints: table => { table.PrimaryKey("PK_UserMembers", x => new { x.MemberId, x.UserId }); table.ForeignKey( name: "FK_UserMembers_Node_MemberId", column: x => x.MemberId, principalTable: "Node", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_UserMembers_Node_UserId", column: x => x.UserId, principalTable: "Node", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.InsertData( table: "Node", columns: new[] { "Id", "CommonName", "Description", "Discriminator", "ParentId", "ManagerId" }, values: new object[] { -2, "Users", null, "OrganizationUnit", null, null }); migrationBuilder.InsertData( table: "Node", columns: new[] { "Id", "CommonName", "Description", "Discriminator", "ParentId", "ManagerId" }, values: new object[] { -1, "Groups", null, "OrganizationUnit", null, null }); migrationBuilder.InsertData( table: "Node", columns: new[] { "Id", "CommonName", "Description", "Discriminator", "ParentId", "ManagerId" }, values: new object[] { -6, "Germany", null, "OrganizationUnit", -2, null }); migrationBuilder.InsertData( table: "Node", columns: new[] { "Id", "CommonName", "Description", "Discriminator", "ParentId", "ManagerId" }, values: new object[] { -5, "USA", null, "OrganizationUnit", -2, null }); migrationBuilder.InsertData( table: "Node", columns: new[] { "Id", "CommonName", "Description", "Discriminator", "ParentId", "ManagerId" }, values: new object[] { -3, "France", null, "OrganizationUnit", -2, null }); migrationBuilder.InsertData( table: "Node", columns: new[] { "Id", "CommonName", "Description", "Discriminator", "ParentId", "EMail", "FirstName", "IsActive", "LastName" }, values: new object[] { -7, "holger", null, "User", -2, null, null, true, null }); migrationBuilder.InsertData( table: "Node", columns: new[] { "Id", "CommonName", "Description", "Discriminator", "ParentId", "EMail" }, values: new object[] { -8, "Global Admin", null, "SecurityGroup", -1, null }); migrationBuilder.InsertData( table: "Node", columns: new[] { "Id", "CommonName", "Description", "Discriminator", "ParentId", "ManagerId" }, values: new object[] { -4, "Arizona", null, "OrganizationUnit", -5, null }); migrationBuilder.InsertData( table: "UserMembers", columns: new[] { "MemberId", "UserId" }, values: new object[] { -8, -7 }); migrationBuilder.CreateIndex( name: "IX_Node_ParentId", table: "Node", column: "ParentId"); migrationBuilder.CreateIndex( name: "IX_Node_ManagerId", table: "Node", column: "ManagerId"); migrationBuilder.CreateIndex( name: "IX_UserMembers_UserId", table: "UserMembers", column: "UserId"); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "UserMembers"); migrationBuilder.DropTable( name: "Node"); } } }