137 lines
6.0 KiB
C#

using Microsoft.EntityFrameworkCore.Migrations;
namespace UserService.DatabaseLayer.Migrations
{
public partial class initial : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Node",
columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
CommonName = table.Column<string>(nullable: false),
Description = table.Column<string>(nullable: true),
ParentId = table.Column<int>(nullable: true),
Discriminator = table.Column<string>(nullable: false),
EMail = table.Column<string>(nullable: true),
FirstName = table.Column<string>(nullable: true),
LastName = table.Column<string>(nullable: true),
IsActive = table.Column<bool>(nullable: true),
ManagerId = table.Column<int>(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<int>(nullable: false),
UserId = table.Column<int>(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" },
values: new object[] { -8, "Global Admin", null, "SecurityGroup", -1, null });
migrationBuilder.InsertData(
table: "Node",
columns: new[] { "Id", "CommonName", "Description", "Discriminator", "ParentId", "EMail", "FirstName", "IsActive", "LastName" },
values: new object[] { -7, "holger", null, "User", -6, null, null, true, 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");
}
}
}