| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458 |
- using System;
- using Microsoft.EntityFrameworkCore.Migrations;
-
- #nullable disable
-
- namespace Diligent.WebAPI.Data.Migrations
- {
- public partial class Initial : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.CreateTable(
- name: "AspNetRoles",
- columns: table => new
- {
- Id = table.Column<int>(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- Name = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
- NormalizedName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
- ConcurrencyStamp = table.Column<string>(type: "nvarchar(max)", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetRoles", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetUsers",
- columns: table => new
- {
- Id = table.Column<int>(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- FirstName = table.Column<string>(type: "nvarchar(max)", nullable: false),
- LastName = table.Column<string>(type: "nvarchar(max)", nullable: false),
- IsEnabled = table.Column<bool>(type: "bit", nullable: true, defaultValue: true),
- Position = table.Column<string>(type: "nvarchar(max)", nullable: true),
- LinkedIn = table.Column<string>(type: "nvarchar(max)", nullable: true),
- UserName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
- NormalizedUserName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
- Email = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
- NormalizedEmail = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
- EmailConfirmed = table.Column<bool>(type: "bit", nullable: false),
- PasswordHash = table.Column<string>(type: "nvarchar(max)", nullable: true),
- SecurityStamp = table.Column<string>(type: "nvarchar(max)", nullable: true),
- ConcurrencyStamp = table.Column<string>(type: "nvarchar(max)", nullable: true),
- PhoneNumber = table.Column<string>(type: "nvarchar(max)", nullable: true),
- PhoneNumberConfirmed = table.Column<bool>(type: "bit", nullable: false),
- TwoFactorEnabled = table.Column<bool>(type: "bit", nullable: false),
- LockoutEnd = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
- LockoutEnabled = table.Column<bool>(type: "bit", nullable: false),
- AccessFailedCount = table.Column<int>(type: "int", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetUsers", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "Categories",
- columns: table => new
- {
- Id = table.Column<int>(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- Name = table.Column<string>(type: "nvarchar(max)", nullable: false),
- ParentCategoryId = table.Column<int>(type: "int", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Categories", x => x.Id);
- table.ForeignKey(
- name: "FK_Categories_Categories_ParentCategoryId",
- column: x => x.ParentCategoryId,
- principalTable: "Categories",
- principalColumn: "Id");
- });
-
- migrationBuilder.CreateTable(
- name: "Tags",
- columns: table => new
- {
- Id = table.Column<int>(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- Name = table.Column<string>(type: "nvarchar(max)", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Tags", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "WebhookDefinitions",
- columns: table => new
- {
- Id = table.Column<long>(type: "bigint", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- Name = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: false),
- DisplayName = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: false),
- Description = table.Column<string>(type: "nvarchar(max)", nullable: false),
- CreatedAtUtc = table.Column<DateTime>(type: "datetime2", nullable: false),
- UpdatedAtUtc = table.Column<DateTime>(type: "datetime2", nullable: true),
- DeletedAtUtc = table.Column<DateTime>(type: "datetime2", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_WebhookDefinitions", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetRoleClaims",
- columns: table => new
- {
- Id = table.Column<int>(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- RoleId = table.Column<int>(type: "int", nullable: false),
- ClaimType = table.Column<string>(type: "nvarchar(max)", nullable: true),
- ClaimValue = table.Column<string>(type: "nvarchar(max)", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id);
- table.ForeignKey(
- name: "FK_AspNetRoleClaims_AspNetRoles_RoleId",
- column: x => x.RoleId,
- principalTable: "AspNetRoles",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetUserClaims",
- columns: table => new
- {
- Id = table.Column<int>(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- UserId = table.Column<int>(type: "int", nullable: false),
- ClaimType = table.Column<string>(type: "nvarchar(max)", nullable: true),
- ClaimValue = table.Column<string>(type: "nvarchar(max)", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetUserClaims", x => x.Id);
- table.ForeignKey(
- name: "FK_AspNetUserClaims_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetUserLogins",
- columns: table => new
- {
- LoginProvider = table.Column<string>(type: "nvarchar(450)", nullable: false),
- ProviderKey = table.Column<string>(type: "nvarchar(450)", nullable: false),
- ProviderDisplayName = table.Column<string>(type: "nvarchar(max)", nullable: true),
- UserId = table.Column<int>(type: "int", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey });
- table.ForeignKey(
- name: "FK_AspNetUserLogins_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetUserRoles",
- columns: table => new
- {
- UserId = table.Column<int>(type: "int", nullable: false),
- RoleId = table.Column<int>(type: "int", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId });
- table.ForeignKey(
- name: "FK_AspNetUserRoles_AspNetRoles_RoleId",
- column: x => x.RoleId,
- principalTable: "AspNetRoles",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_AspNetUserRoles_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetUserTokens",
- columns: table => new
- {
- UserId = table.Column<int>(type: "int", nullable: false),
- LoginProvider = table.Column<string>(type: "nvarchar(450)", nullable: false),
- Name = table.Column<string>(type: "nvarchar(450)", nullable: false),
- Value = table.Column<string>(type: "nvarchar(max)", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name });
- table.ForeignKey(
- name: "FK_AspNetUserTokens_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "RefreshTokens",
- columns: table => new
- {
- Id = table.Column<int>(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- Token = table.Column<string>(type: "nvarchar(max)", nullable: false),
- JwtId = table.Column<string>(type: "nvarchar(max)", nullable: false),
- CreationDate = table.Column<DateTime>(type: "datetime2", nullable: false),
- ExpiryDate = table.Column<DateTime>(type: "datetime2", nullable: false),
- Used = table.Column<bool>(type: "bit", nullable: false),
- Invalidated = table.Column<bool>(type: "bit", nullable: false),
- UserId = table.Column<int>(type: "int", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_RefreshTokens", x => x.Id);
- table.ForeignKey(
- name: "FK_RefreshTokens_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "Files",
- columns: table => new
- {
- Id = table.Column<int>(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- Title = table.Column<string>(type: "nvarchar(max)", nullable: false),
- DocumentId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
- CategoryId = table.Column<int>(type: "int", nullable: true),
- Deleted = table.Column<bool>(type: "bit", nullable: false),
- Note = table.Column<string>(type: "nvarchar(max)", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Files", x => x.Id);
- table.ForeignKey(
- name: "FK_Files_Categories_CategoryId",
- column: x => x.CategoryId,
- principalTable: "Categories",
- principalColumn: "Id");
- });
-
- migrationBuilder.CreateTable(
- name: "UserCategories",
- columns: table => new
- {
- Id = table.Column<int>(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- UserId = table.Column<int>(type: "int", nullable: false),
- CategoryId = table.Column<int>(type: "int", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_UserCategories", x => x.Id);
- table.ForeignKey(
- name: "FK_UserCategories_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_UserCategories_Categories_CategoryId",
- column: x => x.CategoryId,
- principalTable: "Categories",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "WebhookSubscriptions",
- columns: table => new
- {
- Id = table.Column<long>(type: "bigint", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- WebhookURL = table.Column<string>(type: "nvarchar(max)", nullable: false),
- IsActive = table.Column<bool>(type: "bit", nullable: false),
- WebhookDefinitionId = table.Column<long>(type: "bigint", nullable: false),
- CreatedAtUtc = table.Column<DateTime>(type: "datetime2", nullable: false),
- UpdatedAtUtc = table.Column<DateTime>(type: "datetime2", nullable: true),
- DeletedAtUtc = table.Column<DateTime>(type: "datetime2", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_WebhookSubscriptions", x => x.Id);
- table.ForeignKey(
- name: "FK_WebhookSubscriptions_WebhookDefinitions_WebhookDefinitionId",
- column: x => x.WebhookDefinitionId,
- principalTable: "WebhookDefinitions",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "FileEntityTag",
- columns: table => new
- {
- FilesId = table.Column<int>(type: "int", nullable: false),
- TagsId = table.Column<int>(type: "int", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_FileEntityTag", x => new { x.FilesId, x.TagsId });
- table.ForeignKey(
- name: "FK_FileEntityTag_Files_FilesId",
- column: x => x.FilesId,
- principalTable: "Files",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_FileEntityTag_Tags_TagsId",
- column: x => x.TagsId,
- principalTable: "Tags",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateIndex(
- name: "IX_AspNetRoleClaims_RoleId",
- table: "AspNetRoleClaims",
- column: "RoleId");
-
- migrationBuilder.CreateIndex(
- name: "RoleNameIndex",
- table: "AspNetRoles",
- column: "NormalizedName",
- unique: true,
- filter: "[NormalizedName] IS NOT NULL");
-
- migrationBuilder.CreateIndex(
- name: "IX_AspNetUserClaims_UserId",
- table: "AspNetUserClaims",
- column: "UserId");
-
- migrationBuilder.CreateIndex(
- name: "IX_AspNetUserLogins_UserId",
- table: "AspNetUserLogins",
- column: "UserId");
-
- migrationBuilder.CreateIndex(
- name: "IX_AspNetUserRoles_RoleId",
- table: "AspNetUserRoles",
- column: "RoleId");
-
- migrationBuilder.CreateIndex(
- name: "EmailIndex",
- table: "AspNetUsers",
- column: "NormalizedEmail");
-
- migrationBuilder.CreateIndex(
- name: "UserNameIndex",
- table: "AspNetUsers",
- column: "NormalizedUserName",
- unique: true,
- filter: "[NormalizedUserName] IS NOT NULL");
-
- migrationBuilder.CreateIndex(
- name: "IX_Categories_ParentCategoryId",
- table: "Categories",
- column: "ParentCategoryId");
-
- migrationBuilder.CreateIndex(
- name: "IX_FileEntityTag_TagsId",
- table: "FileEntityTag",
- column: "TagsId");
-
- migrationBuilder.CreateIndex(
- name: "IX_Files_CategoryId",
- table: "Files",
- column: "CategoryId");
-
- migrationBuilder.CreateIndex(
- name: "IX_RefreshTokens_UserId",
- table: "RefreshTokens",
- column: "UserId");
-
- migrationBuilder.CreateIndex(
- name: "IX_UserCategories_CategoryId",
- table: "UserCategories",
- column: "CategoryId");
-
- migrationBuilder.CreateIndex(
- name: "IX_UserCategories_UserId",
- table: "UserCategories",
- column: "UserId");
-
- migrationBuilder.CreateIndex(
- name: "IX_WebhookSubscriptions_WebhookDefinitionId",
- table: "WebhookSubscriptions",
- column: "WebhookDefinitionId");
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropTable(
- name: "AspNetRoleClaims");
-
- migrationBuilder.DropTable(
- name: "AspNetUserClaims");
-
- migrationBuilder.DropTable(
- name: "AspNetUserLogins");
-
- migrationBuilder.DropTable(
- name: "AspNetUserRoles");
-
- migrationBuilder.DropTable(
- name: "AspNetUserTokens");
-
- migrationBuilder.DropTable(
- name: "FileEntityTag");
-
- migrationBuilder.DropTable(
- name: "RefreshTokens");
-
- migrationBuilder.DropTable(
- name: "UserCategories");
-
- migrationBuilder.DropTable(
- name: "WebhookSubscriptions");
-
- migrationBuilder.DropTable(
- name: "AspNetRoles");
-
- migrationBuilder.DropTable(
- name: "Files");
-
- migrationBuilder.DropTable(
- name: "Tags");
-
- migrationBuilder.DropTable(
- name: "AspNetUsers");
-
- migrationBuilder.DropTable(
- name: "WebhookDefinitions");
-
- migrationBuilder.DropTable(
- name: "Categories");
- }
- }
- }
|