using System; using Microsoft.EntityFrameworkCore.Migrations; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable #pragma warning disable CA1814 // Prefer jagged arrays over multidimensional namespace Socialize.Api.Migrations { /// public partial class Initial : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "ApprovalDecisions", columns: table => new { Id = table.Column(type: "uuid", nullable: false), ApprovalRequestId = table.Column(type: "uuid", nullable: false), Decision = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), Comment = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: true), DecidedByUserId = table.Column(type: "uuid", nullable: true), DecidedByName = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), DecidedByEmail = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_ApprovalDecisions", x => x.Id); }); migrationBuilder.CreateTable( name: "ApprovalRequests", columns: table => new { Id = table.Column(type: "uuid", nullable: false), WorkspaceId = table.Column(type: "uuid", nullable: false), ContentItemId = table.Column(type: "uuid", nullable: false), WorkflowInstanceId = table.Column(type: "uuid", nullable: true), WorkflowStepSortOrder = table.Column(type: "integer", nullable: true), WorkflowStepTargetType = table.Column(type: "character varying(32)", maxLength: 32, nullable: true), WorkflowStepTargetValue = table.Column(type: "character varying(128)", maxLength: 128, nullable: true), WorkflowStepRequiredApproverCount = table.Column(type: "integer", nullable: true), Stage = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), ReviewerName = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), ReviewerEmail = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), RequestedByUserId = table.Column(type: "uuid", nullable: false), DueAt = table.Column(type: "timestamp with time zone", nullable: true), State = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), AccessToken = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), SentAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP"), CompletedAt = table.Column(type: "timestamp with time zone", nullable: true) }, constraints: table => { table.PrimaryKey("PK_ApprovalRequests", x => x.Id); }); migrationBuilder.CreateTable( name: "ApprovalWorkflowInstances", columns: table => new { Id = table.Column(type: "uuid", nullable: false), WorkspaceId = table.Column(type: "uuid", nullable: false), ContentItemId = table.Column(type: "uuid", nullable: false), State = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), ApprovalMode = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), StartedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP"), CompletedAt = table.Column(type: "timestamp with time zone", nullable: true) }, constraints: table => { table.PrimaryKey("PK_ApprovalWorkflowInstances", x => x.Id); }); migrationBuilder.CreateTable( name: "AspNetRoles", columns: table => new { Id = table.Column(type: "uuid", nullable: false), Name = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), NormalizedName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), ConcurrencyStamp = table.Column(type: "text", nullable: true) }, constraints: table => { table.PrimaryKey("PK_AspNetRoles", x => x.Id); }); migrationBuilder.CreateTable( name: "AspNetUsers", columns: table => new { Id = table.Column(type: "uuid", nullable: false), Alias = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), Firstname = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), Lastname = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), BirthDate = table.Column(type: "timestamp with time zone", nullable: true), Address = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), PortraitUrl = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: true), GoogleId = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), FacebookId = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), RefreshToken = table.Column(type: "character varying(44)", maxLength: 44, nullable: true), RefreshTokenExpiryTime = table.Column(type: "timestamp with time zone", nullable: false), UserName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), NormalizedUserName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), Email = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), NormalizedEmail = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), EmailConfirmed = table.Column(type: "boolean", nullable: false), PasswordHash = table.Column(type: "text", nullable: true), SecurityStamp = table.Column(type: "text", nullable: true), ConcurrencyStamp = table.Column(type: "text", nullable: true), PhoneNumber = table.Column(type: "text", nullable: true), PhoneNumberConfirmed = table.Column(type: "boolean", nullable: false), TwoFactorEnabled = table.Column(type: "boolean", nullable: false), LockoutEnd = table.Column(type: "timestamp with time zone", nullable: true), LockoutEnabled = table.Column(type: "boolean", nullable: false), AccessFailedCount = table.Column(type: "integer", nullable: false) }, constraints: table => { table.PrimaryKey("PK_AspNetUsers", x => x.Id); }); migrationBuilder.CreateTable( name: "AssetRevisions", columns: table => new { Id = table.Column(type: "uuid", nullable: false), AssetId = table.Column(type: "uuid", nullable: false), RevisionNumber = table.Column(type: "integer", nullable: false), SourceReference = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: false), PreviewUrl = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: true), Notes = table.Column(type: "character varying(1024)", maxLength: 1024, nullable: true), CreatedByUserId = table.Column(type: "uuid", nullable: true), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_AssetRevisions", x => x.Id); }); migrationBuilder.CreateTable( name: "Assets", columns: table => new { Id = table.Column(type: "uuid", nullable: false), WorkspaceId = table.Column(type: "uuid", nullable: false), ContentItemId = table.Column(type: "uuid", nullable: false), AssetType = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), SourceType = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), DisplayName = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), GoogleDriveFileId = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), GoogleDriveLink = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: true), PreviewUrl = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: true), CurrentRevisionNumber = table.Column(type: "integer", nullable: false), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_Assets", x => x.Id); }); migrationBuilder.CreateTable( name: "CalendarCatalogEntries", columns: table => new { Id = table.Column(type: "uuid", nullable: false), Title = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), Description = table.Column(type: "character varying(1024)", maxLength: 1024, nullable: false), Country = table.Column(type: "character varying(2)", maxLength: 2, nullable: true), Region = table.Column(type: "character varying(128)", maxLength: 128, nullable: true), Language = table.Column(type: "character varying(16)", maxLength: 16, nullable: false), Category = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), CultureOrReligion = table.Column(type: "character varying(128)", maxLength: 128, nullable: true), ProviderName = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), SourceUrl = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: false), TrustLevel = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), DefaultColor = table.Column(type: "character varying(16)", maxLength: 16, nullable: false), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_CalendarCatalogEntries", x => x.Id); }); migrationBuilder.CreateTable( name: "CalendarSources", columns: table => new { Id = table.Column(type: "uuid", nullable: false), Scope = table.Column(type: "character varying(32)", maxLength: 32, nullable: false), OrganizationId = table.Column(type: "uuid", nullable: true), WorkspaceId = table.Column(type: "uuid", nullable: true), UserId = table.Column(type: "uuid", nullable: true), SourceUrl = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: true), CatalogSourceReference = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), DisplayTitle = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), Color = table.Column(type: "character varying(16)", maxLength: 16, nullable: false), Category = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), IsEnabled = table.Column(type: "boolean", nullable: false), InheritanceMode = table.Column(type: "character varying(32)", maxLength: 32, nullable: true), LastSuccessfulSyncAt = table.Column(type: "timestamp with time zone", nullable: true), LastAttemptedSyncAt = table.Column(type: "timestamp with time zone", nullable: true), LastSyncError = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: true), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP"), UpdatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_CalendarSources", x => x.Id); }); migrationBuilder.CreateTable( name: "Campaigns", columns: table => new { Id = table.Column(type: "uuid", nullable: false), WorkspaceId = table.Column(type: "uuid", nullable: false), ClientId = table.Column(type: "uuid", nullable: false), Name = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), Description = table.Column(type: "character varying(4000)", maxLength: 4000, nullable: true), Notes = table.Column(type: "character varying(4000)", maxLength: 4000, nullable: true), Status = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), StartDate = table.Column(type: "timestamp with time zone", nullable: false), EndDate = table.Column(type: "timestamp with time zone", nullable: false), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_Campaigns", x => x.Id); }); migrationBuilder.CreateTable( name: "Channels", columns: table => new { Id = table.Column(type: "uuid", nullable: false), WorkspaceId = table.Column(type: "uuid", nullable: false), Name = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), Network = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), Handle = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), ExternalUrl = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: true), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_Channels", x => x.Id); }); migrationBuilder.CreateTable( name: "Clients", columns: table => new { Id = table.Column(type: "uuid", nullable: false), WorkspaceId = table.Column(type: "uuid", nullable: false), Name = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), Status = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), PortraitUrl = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: true), PrimaryContactName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), PrimaryContactEmail = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), PrimaryContactPortraitUrl = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: true), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_Clients", x => x.Id); }); migrationBuilder.CreateTable( name: "Comments", columns: table => new { Id = table.Column(type: "uuid", nullable: false), WorkspaceId = table.Column(type: "uuid", nullable: false), ContentItemId = table.Column(type: "uuid", nullable: false), ParentCommentId = table.Column(type: "uuid", nullable: true), AuthorUserId = table.Column(type: "uuid", nullable: false), AuthorDisplayName = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), AuthorEmail = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), Body = table.Column(type: "character varying(4000)", maxLength: 4000, nullable: false), AttachmentFileName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), AttachmentContentType = table.Column(type: "character varying(128)", maxLength: 128, nullable: true), AttachmentSizeBytes = table.Column(type: "bigint", nullable: true), AttachmentBlobContainerName = table.Column(type: "character varying(128)", maxLength: 128, nullable: true), AttachmentBlobName = table.Column(type: "character varying(512)", maxLength: 512, nullable: true), AttachmentBlobUrl = table.Column(type: "character varying(1024)", maxLength: 1024, nullable: true), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_Comments", x => x.Id); }); migrationBuilder.CreateTable( name: "ContentItemActivityEntries", columns: table => new { Id = table.Column(type: "uuid", nullable: false), WorkspaceId = table.Column(type: "uuid", nullable: false), ContentItemId = table.Column(type: "uuid", nullable: false), EventType = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), EntityType = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), EntityId = table.Column(type: "uuid", nullable: false), Summary = table.Column(type: "character varying(1024)", maxLength: 1024, nullable: false), ActorUserId = table.Column(type: "uuid", nullable: true), ActorEmail = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), MetadataJson = table.Column(type: "jsonb", nullable: true), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_ContentItemActivityEntries", x => x.Id); }); migrationBuilder.CreateTable( name: "ContentItemRevisions", columns: table => new { Id = table.Column(type: "uuid", nullable: false), ContentItemId = table.Column(type: "uuid", nullable: false), RevisionNumber = table.Column(type: "integer", nullable: false), RevisionLabel = table.Column(type: "character varying(32)", maxLength: 32, nullable: false), Title = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), PublicationMessage = table.Column(type: "character varying(4000)", maxLength: 4000, nullable: false), PublicationTargets = table.Column(type: "character varying(512)", maxLength: 512, nullable: false), Hashtags = table.Column(type: "character varying(1024)", maxLength: 1024, nullable: true), ChangeSummary = table.Column(type: "character varying(1024)", maxLength: 1024, nullable: true), CreatedByUserId = table.Column(type: "uuid", nullable: true), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_ContentItemRevisions", x => x.Id); }); migrationBuilder.CreateTable( name: "ContentItems", columns: table => new { Id = table.Column(type: "uuid", nullable: false), WorkspaceId = table.Column(type: "uuid", nullable: false), ClientId = table.Column(type: "uuid", nullable: false), CampaignId = table.Column(type: "uuid", nullable: false), Title = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), PublicationMessage = table.Column(type: "character varying(4000)", maxLength: 4000, nullable: false), PublicationTargets = table.Column(type: "character varying(512)", maxLength: 512, nullable: false), Hashtags = table.Column(type: "character varying(1024)", maxLength: 1024, nullable: true), Status = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), DueDate = table.Column(type: "timestamp with time zone", nullable: true), CurrentRevisionLabel = table.Column(type: "character varying(32)", maxLength: 32, nullable: false), CurrentRevisionNumber = table.Column(type: "integer", nullable: false), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_ContentItems", x => x.Id); }); migrationBuilder.CreateTable( name: "FeedbackReports", columns: table => new { Id = table.Column(type: "uuid", nullable: false), Type = table.Column(type: "character varying(32)", maxLength: 32, nullable: false), Status = table.Column(type: "character varying(32)", maxLength: 32, nullable: false), Description = table.Column(type: "character varying(8000)", maxLength: 8000, nullable: false), ReporterUserId = table.Column(type: "uuid", nullable: false), ReporterDisplayName = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), ReporterEmail = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), SubmittedPath = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: false), BrowserUserAgent = table.Column(type: "character varying(1024)", maxLength: 1024, nullable: true), ViewportWidth = table.Column(type: "integer", nullable: true), ViewportHeight = table.Column(type: "integer", nullable: true), AppVersion = table.Column(type: "character varying(128)", maxLength: 128, nullable: true), WorkspaceId = table.Column(type: "uuid", nullable: true), WorkspaceName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), ClientId = table.Column(type: "uuid", nullable: true), ClientName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), CampaignId = table.Column(type: "uuid", nullable: true), CampaignName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), ContentItemId = table.Column(type: "uuid", nullable: true), ContentItemTitle = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP"), LastActivityAt = table.Column(type: "timestamp with time zone", nullable: false), CancelledAt = table.Column(type: "timestamp with time zone", nullable: true), CancelledByUserId = table.Column(type: "uuid", nullable: true), CancellationReason = table.Column(type: "character varying(2000)", maxLength: 2000, nullable: true) }, constraints: table => { table.PrimaryKey("PK_FeedbackReports", x => x.Id); }); migrationBuilder.CreateTable( name: "NotificationEvents", columns: table => new { Id = table.Column(type: "uuid", nullable: false), WorkspaceId = table.Column(type: "uuid", nullable: false), ContentItemId = table.Column(type: "uuid", nullable: true), EventType = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), EntityType = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), EntityId = table.Column(type: "uuid", nullable: false), Message = table.Column(type: "character varying(1024)", maxLength: 1024, nullable: false), RecipientUserId = table.Column(type: "uuid", nullable: true), RecipientEmail = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), MetadataJson = table.Column(type: "character varying(4000)", maxLength: 4000, nullable: true), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP"), ReadAt = table.Column(type: "timestamp with time zone", nullable: true) }, constraints: table => { table.PrimaryKey("PK_NotificationEvents", x => x.Id); }); migrationBuilder.CreateTable( name: "Organizations", columns: table => new { Id = table.Column(type: "uuid", nullable: false), Name = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), LogoUrl = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: true), OwnerUserId = table.Column(type: "uuid", nullable: false), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_Organizations", x => x.Id); }); migrationBuilder.CreateTable( name: "UserCalendarExportFeeds", columns: table => new { Id = table.Column(type: "uuid", nullable: false), UserId = table.Column(type: "uuid", nullable: false), Token = table.Column(type: "character varying(96)", maxLength: 96, nullable: true), TokenHash = table.Column(type: "character varying(64)", maxLength: 64, nullable: true), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP"), UpdatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP"), RevokedAt = table.Column(type: "timestamp with time zone", nullable: true) }, constraints: table => { table.PrimaryKey("PK_UserCalendarExportFeeds", x => x.Id); }); migrationBuilder.CreateTable( name: "WorkspaceApprovalStepConfigurations", columns: table => new { Id = table.Column(type: "uuid", nullable: false), WorkspaceId = table.Column(type: "uuid", nullable: false), Name = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), SortOrder = table.Column(type: "integer", nullable: false), TargetType = table.Column(type: "character varying(32)", maxLength: 32, nullable: false), TargetValue = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), RequiredApproverCount = table.Column(type: "integer", nullable: false, defaultValue: 1), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_WorkspaceApprovalStepConfigurations", x => x.Id); }); migrationBuilder.CreateTable( name: "WorkspaceInvites", columns: table => new { Id = table.Column(type: "uuid", nullable: false), WorkspaceId = table.Column(type: "uuid", nullable: false), Email = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), Role = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), Status = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), InvitedByUserId = table.Column(type: "uuid", nullable: false), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_WorkspaceInvites", x => x.Id); }); migrationBuilder.CreateTable( name: "AspNetRoleClaims", columns: table => new { Id = table.Column(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), RoleId = table.Column(type: "uuid", nullable: false), ClaimType = table.Column(type: "text", nullable: true), ClaimValue = table.Column(type: "text", 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(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), UserId = table.Column(type: "uuid", nullable: false), ClaimType = table.Column(type: "text", nullable: true), ClaimValue = table.Column(type: "text", 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(type: "text", nullable: false), ProviderKey = table.Column(type: "text", nullable: false), ProviderDisplayName = table.Column(type: "text", nullable: true), UserId = table.Column(type: "uuid", 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(type: "uuid", nullable: false), RoleId = table.Column(type: "uuid", 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(type: "uuid", nullable: false), LoginProvider = table.Column(type: "text", nullable: false), Name = table.Column(type: "text", nullable: false), Value = table.Column(type: "text", 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: "CalendarEvents", columns: table => new { Id = table.Column(type: "uuid", nullable: false), CalendarSourceId = table.Column(type: "uuid", nullable: false), SourceEventUid = table.Column(type: "character varying(512)", maxLength: 512, nullable: false), Title = table.Column(type: "character varying(512)", maxLength: 512, nullable: false), Description = table.Column(type: "character varying(4000)", maxLength: 4000, nullable: true), IsAllDay = table.Column(type: "boolean", nullable: false), IsFloatingTime = table.Column(type: "boolean", nullable: false), StartDate = table.Column(type: "date", nullable: false), EndDate = table.Column(type: "date", nullable: false), StartLocalDateTime = table.Column(type: "timestamp with time zone", nullable: true), EndLocalDateTime = table.Column(type: "timestamp with time zone", nullable: true), StartUtc = table.Column(type: "timestamp with time zone", nullable: true), EndUtc = table.Column(type: "timestamp with time zone", nullable: true), TimeZoneId = table.Column(type: "character varying(128)", maxLength: 128, nullable: true), RecurrenceId = table.Column(type: "character varying(512)", maxLength: 512, nullable: true), Location = table.Column(type: "character varying(512)", maxLength: 512, nullable: true), SourceUrl = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: true), SourceLastModifiedAt = table.Column(type: "timestamp with time zone", nullable: true), ImportedAt = table.Column(type: "timestamp with time zone", nullable: false) }, constraints: table => { table.PrimaryKey("PK_CalendarEvents", x => x.Id); table.ForeignKey( name: "FK_CalendarEvents_CalendarSources_CalendarSourceId", column: x => x.CalendarSourceId, principalTable: "CalendarSources", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "FeedbackActivityEntries", columns: table => new { Id = table.Column(type: "uuid", nullable: false), FeedbackReportId = table.Column(type: "uuid", nullable: false), ActorUserId = table.Column(type: "uuid", nullable: false), ActorDisplayName = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), ActorEmail = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), ActivityType = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), FromValue = table.Column(type: "character varying(512)", maxLength: 512, nullable: true), ToValue = table.Column(type: "character varying(512)", maxLength: 512, nullable: true), Note = table.Column(type: "character varying(2000)", maxLength: 2000, nullable: true), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_FeedbackActivityEntries", x => x.Id); table.ForeignKey( name: "FK_FeedbackActivityEntries_FeedbackReports_FeedbackReportId", column: x => x.FeedbackReportId, principalTable: "FeedbackReports", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "FeedbackComments", columns: table => new { Id = table.Column(type: "uuid", nullable: false), FeedbackReportId = table.Column(type: "uuid", nullable: false), AuthorUserId = table.Column(type: "uuid", nullable: false), AuthorDisplayName = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), AuthorEmail = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), AuthorRole = table.Column(type: "character varying(32)", maxLength: 32, nullable: false), Body = table.Column(type: "character varying(8000)", maxLength: 8000, nullable: false), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_FeedbackComments", x => x.Id); table.ForeignKey( name: "FK_FeedbackComments_FeedbackReports_FeedbackReportId", column: x => x.FeedbackReportId, principalTable: "FeedbackReports", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "FeedbackScreenshots", columns: table => new { Id = table.Column(type: "uuid", nullable: false), FeedbackReportId = table.Column(type: "uuid", nullable: false), FileName = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), ContentType = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), SizeBytes = table.Column(type: "bigint", nullable: false), BlobContainerName = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), BlobName = table.Column(type: "character varying(512)", maxLength: 512, nullable: false), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_FeedbackScreenshots", x => x.Id); table.ForeignKey( name: "FK_FeedbackScreenshots_FeedbackReports_FeedbackReportId", column: x => x.FeedbackReportId, principalTable: "FeedbackReports", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "FeedbackTags", columns: table => new { Id = table.Column(type: "uuid", nullable: false), FeedbackReportId = table.Column(type: "uuid", nullable: false), Name = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), NormalizedName = table.Column(type: "character varying(64)", maxLength: 64, nullable: false) }, constraints: table => { table.PrimaryKey("PK_FeedbackTags", x => x.Id); table.ForeignKey( name: "FK_FeedbackTags_FeedbackReports_FeedbackReportId", column: x => x.FeedbackReportId, principalTable: "FeedbackReports", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "OrganizationMemberships", columns: table => new { Id = table.Column(type: "uuid", nullable: false), OrganizationId = table.Column(type: "uuid", nullable: false), UserId = table.Column(type: "uuid", nullable: false), Role = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_OrganizationMemberships", x => x.Id); table.ForeignKey( name: "FK_OrganizationMemberships_Organizations_OrganizationId", column: x => x.OrganizationId, principalTable: "Organizations", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Workspaces", columns: table => new { Id = table.Column(type: "uuid", nullable: false), Name = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), LogoUrl = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: true), OrganizationId = table.Column(type: "uuid", nullable: false), OwnerUserId = table.Column(type: "uuid", nullable: false), TimeZone = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), ApprovalMode = table.Column(type: "character varying(32)", maxLength: 32, nullable: false, defaultValue: "Required"), SchedulePostsAutomaticallyOnApproval = table.Column(type: "boolean", nullable: false, defaultValue: false), LockContentAfterApproval = table.Column(type: "boolean", nullable: false, defaultValue: false), SendAutomaticApprovalReminders = table.Column(type: "boolean", nullable: false, defaultValue: false), CreatedAt = table.Column(type: "timestamp with time zone", nullable: false, defaultValueSql: "CURRENT_TIMESTAMP") }, constraints: table => { table.PrimaryKey("PK_Workspaces", x => x.Id); table.ForeignKey( name: "FK_Workspaces_Organizations_OrganizationId", column: x => x.OrganizationId, principalTable: "Organizations", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.InsertData( table: "CalendarCatalogEntries", columns: new[] { "Id", "Category", "Country", "CultureOrReligion", "DefaultColor", "Description", "Language", "ProviderName", "Region", "SourceUrl", "Title", "TrustLevel" }, values: new object[,] { { new Guid("10000000-0000-0000-0000-000000000001"), "public-holiday", "US", null, "#2F80ED", "Federal public holiday calendar for the United States.", "en", "Nager.Date", null, "https://date.nager.at/api/v3/PublicHolidays/2026/US", "United States Public Holidays", "Verified" }, { new Guid("10000000-0000-0000-0000-000000000002"), "public-holiday", "CA", null, "#2F80ED", "Public holiday calendar for Canada.", "en", "Nager.Date", null, "https://date.nager.at/api/v3/PublicHolidays/2026/CA", "Canada Public Holidays", "Verified" }, { new Guid("10000000-0000-0000-0000-000000000003"), "marketing-moment", null, null, "#9B51E0", "Common retail, awareness, and social planning moments.", "en", "Socialize", null, "https://example.com/socialize/marketing-moments.ics", "Common Marketing Moments", "Maintained" } }); migrationBuilder.CreateIndex( name: "IX_ApprovalDecisions_ApprovalRequestId", table: "ApprovalDecisions", column: "ApprovalRequestId"); migrationBuilder.CreateIndex( name: "IX_ApprovalRequests_ContentItemId", table: "ApprovalRequests", column: "ContentItemId"); migrationBuilder.CreateIndex( name: "IX_ApprovalRequests_ReviewerEmail", table: "ApprovalRequests", column: "ReviewerEmail"); migrationBuilder.CreateIndex( name: "IX_ApprovalRequests_WorkflowInstanceId", table: "ApprovalRequests", column: "WorkflowInstanceId"); migrationBuilder.CreateIndex( name: "IX_ApprovalRequests_WorkspaceId", table: "ApprovalRequests", column: "WorkspaceId"); migrationBuilder.CreateIndex( name: "IX_ApprovalWorkflowInstances_ContentItemId", table: "ApprovalWorkflowInstances", column: "ContentItemId"); migrationBuilder.CreateIndex( name: "IX_ApprovalWorkflowInstances_ContentItemId_State", table: "ApprovalWorkflowInstances", columns: new[] { "ContentItemId", "State" }, unique: true, filter: "\"State\" = 'Pending'"); migrationBuilder.CreateIndex( name: "IX_ApprovalWorkflowInstances_WorkspaceId", table: "ApprovalWorkflowInstances", column: "WorkspaceId"); migrationBuilder.CreateIndex( name: "IX_AspNetRoleClaims_RoleId", table: "AspNetRoleClaims", column: "RoleId"); migrationBuilder.CreateIndex( name: "RoleNameIndex", table: "AspNetRoles", column: "NormalizedName", unique: true); 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); migrationBuilder.CreateIndex( name: "IX_AssetRevisions_AssetId", table: "AssetRevisions", column: "AssetId"); migrationBuilder.CreateIndex( name: "IX_AssetRevisions_AssetId_RevisionNumber", table: "AssetRevisions", columns: new[] { "AssetId", "RevisionNumber" }, unique: true); migrationBuilder.CreateIndex( name: "IX_Assets_ContentItemId", table: "Assets", column: "ContentItemId"); migrationBuilder.CreateIndex( name: "IX_Assets_WorkspaceId", table: "Assets", column: "WorkspaceId"); migrationBuilder.CreateIndex( name: "IX_CalendarCatalogEntries_Category", table: "CalendarCatalogEntries", column: "Category"); migrationBuilder.CreateIndex( name: "IX_CalendarCatalogEntries_Country", table: "CalendarCatalogEntries", column: "Country"); migrationBuilder.CreateIndex( name: "IX_CalendarCatalogEntries_ProviderName", table: "CalendarCatalogEntries", column: "ProviderName"); migrationBuilder.CreateIndex( name: "IX_CalendarEvents_CalendarSourceId", table: "CalendarEvents", column: "CalendarSourceId"); migrationBuilder.CreateIndex( name: "IX_CalendarEvents_CalendarSourceId_SourceEventUid_StartDate", table: "CalendarEvents", columns: new[] { "CalendarSourceId", "SourceEventUid", "StartDate" }, unique: true); migrationBuilder.CreateIndex( name: "IX_CalendarSources_OrganizationId", table: "CalendarSources", column: "OrganizationId"); migrationBuilder.CreateIndex( name: "IX_CalendarSources_Scope", table: "CalendarSources", column: "Scope"); migrationBuilder.CreateIndex( name: "IX_CalendarSources_UserId", table: "CalendarSources", column: "UserId"); migrationBuilder.CreateIndex( name: "IX_CalendarSources_WorkspaceId", table: "CalendarSources", column: "WorkspaceId"); migrationBuilder.CreateIndex( name: "IX_Campaigns_ClientId", table: "Campaigns", column: "ClientId"); migrationBuilder.CreateIndex( name: "IX_Campaigns_ClientId_Name", table: "Campaigns", columns: new[] { "ClientId", "Name" }, unique: true); migrationBuilder.CreateIndex( name: "IX_Campaigns_WorkspaceId", table: "Campaigns", column: "WorkspaceId"); migrationBuilder.CreateIndex( name: "IX_Channels_WorkspaceId", table: "Channels", column: "WorkspaceId"); migrationBuilder.CreateIndex( name: "IX_Channels_WorkspaceId_Network_Name", table: "Channels", columns: new[] { "WorkspaceId", "Network", "Name" }, unique: true); migrationBuilder.CreateIndex( name: "IX_Clients_WorkspaceId", table: "Clients", column: "WorkspaceId"); migrationBuilder.CreateIndex( name: "IX_Clients_WorkspaceId_Name", table: "Clients", columns: new[] { "WorkspaceId", "Name" }, unique: true); migrationBuilder.CreateIndex( name: "IX_Comments_ContentItemId", table: "Comments", column: "ContentItemId"); migrationBuilder.CreateIndex( name: "IX_Comments_ParentCommentId", table: "Comments", column: "ParentCommentId"); migrationBuilder.CreateIndex( name: "IX_Comments_WorkspaceId", table: "Comments", column: "WorkspaceId"); migrationBuilder.CreateIndex( name: "IX_ContentItemActivityEntries_ContentItemId", table: "ContentItemActivityEntries", column: "ContentItemId"); migrationBuilder.CreateIndex( name: "IX_ContentItemActivityEntries_ContentItemId_CreatedAt", table: "ContentItemActivityEntries", columns: new[] { "ContentItemId", "CreatedAt" }); migrationBuilder.CreateIndex( name: "IX_ContentItemActivityEntries_WorkspaceId", table: "ContentItemActivityEntries", column: "WorkspaceId"); migrationBuilder.CreateIndex( name: "IX_ContentItemRevisions_ContentItemId", table: "ContentItemRevisions", column: "ContentItemId"); migrationBuilder.CreateIndex( name: "IX_ContentItemRevisions_ContentItemId_RevisionNumber", table: "ContentItemRevisions", columns: new[] { "ContentItemId", "RevisionNumber" }, unique: true); migrationBuilder.CreateIndex( name: "IX_ContentItems_CampaignId", table: "ContentItems", column: "CampaignId"); migrationBuilder.CreateIndex( name: "IX_ContentItems_ClientId", table: "ContentItems", column: "ClientId"); migrationBuilder.CreateIndex( name: "IX_ContentItems_WorkspaceId", table: "ContentItems", column: "WorkspaceId"); migrationBuilder.CreateIndex( name: "IX_FeedbackActivityEntries_ActorUserId", table: "FeedbackActivityEntries", column: "ActorUserId"); migrationBuilder.CreateIndex( name: "IX_FeedbackActivityEntries_CreatedAt", table: "FeedbackActivityEntries", column: "CreatedAt"); migrationBuilder.CreateIndex( name: "IX_FeedbackActivityEntries_FeedbackReportId", table: "FeedbackActivityEntries", column: "FeedbackReportId"); migrationBuilder.CreateIndex( name: "IX_FeedbackComments_AuthorUserId", table: "FeedbackComments", column: "AuthorUserId"); migrationBuilder.CreateIndex( name: "IX_FeedbackComments_CreatedAt", table: "FeedbackComments", column: "CreatedAt"); migrationBuilder.CreateIndex( name: "IX_FeedbackComments_FeedbackReportId", table: "FeedbackComments", column: "FeedbackReportId"); migrationBuilder.CreateIndex( name: "IX_FeedbackReports_LastActivityAt", table: "FeedbackReports", column: "LastActivityAt"); migrationBuilder.CreateIndex( name: "IX_FeedbackReports_ReporterUserId", table: "FeedbackReports", column: "ReporterUserId"); migrationBuilder.CreateIndex( name: "IX_FeedbackReports_Status", table: "FeedbackReports", column: "Status"); migrationBuilder.CreateIndex( name: "IX_FeedbackReports_Type", table: "FeedbackReports", column: "Type"); migrationBuilder.CreateIndex( name: "IX_FeedbackReports_WorkspaceId", table: "FeedbackReports", column: "WorkspaceId"); migrationBuilder.CreateIndex( name: "IX_FeedbackScreenshots_FeedbackReportId", table: "FeedbackScreenshots", column: "FeedbackReportId", unique: true); migrationBuilder.CreateIndex( name: "IX_FeedbackTags_FeedbackReportId_NormalizedName", table: "FeedbackTags", columns: new[] { "FeedbackReportId", "NormalizedName" }, unique: true); migrationBuilder.CreateIndex( name: "IX_FeedbackTags_NormalizedName", table: "FeedbackTags", column: "NormalizedName"); migrationBuilder.CreateIndex( name: "IX_NotificationEvents_ContentItemId", table: "NotificationEvents", column: "ContentItemId"); migrationBuilder.CreateIndex( name: "IX_NotificationEvents_CreatedAt", table: "NotificationEvents", column: "CreatedAt"); migrationBuilder.CreateIndex( name: "IX_NotificationEvents_RecipientUserId", table: "NotificationEvents", column: "RecipientUserId"); migrationBuilder.CreateIndex( name: "IX_NotificationEvents_WorkspaceId", table: "NotificationEvents", column: "WorkspaceId"); migrationBuilder.CreateIndex( name: "IX_OrganizationMemberships_OrganizationId", table: "OrganizationMemberships", column: "OrganizationId"); migrationBuilder.CreateIndex( name: "IX_OrganizationMemberships_OrganizationId_UserId", table: "OrganizationMemberships", columns: new[] { "OrganizationId", "UserId" }, unique: true); migrationBuilder.CreateIndex( name: "IX_OrganizationMemberships_UserId", table: "OrganizationMemberships", column: "UserId"); migrationBuilder.CreateIndex( name: "IX_Organizations_OwnerUserId", table: "Organizations", column: "OwnerUserId"); migrationBuilder.CreateIndex( name: "IX_UserCalendarExportFeeds_TokenHash", table: "UserCalendarExportFeeds", column: "TokenHash", unique: true); migrationBuilder.CreateIndex( name: "IX_UserCalendarExportFeeds_UserId", table: "UserCalendarExportFeeds", column: "UserId", unique: true); migrationBuilder.CreateIndex( name: "IX_WorkspaceApprovalStepConfigurations_WorkspaceId", table: "WorkspaceApprovalStepConfigurations", column: "WorkspaceId"); migrationBuilder.CreateIndex( name: "IX_WorkspaceApprovalStepConfigurations_WorkspaceId_SortOrder", table: "WorkspaceApprovalStepConfigurations", columns: new[] { "WorkspaceId", "SortOrder" }, unique: true); migrationBuilder.CreateIndex( name: "IX_WorkspaceInvites_WorkspaceId", table: "WorkspaceInvites", column: "WorkspaceId"); migrationBuilder.CreateIndex( name: "IX_WorkspaceInvites_WorkspaceId_Email_Status", table: "WorkspaceInvites", columns: new[] { "WorkspaceId", "Email", "Status" }); migrationBuilder.CreateIndex( name: "IX_Workspaces_OrganizationId", table: "Workspaces", column: "OrganizationId"); migrationBuilder.CreateIndex( name: "IX_Workspaces_OwnerUserId", table: "Workspaces", column: "OwnerUserId"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "ApprovalDecisions"); migrationBuilder.DropTable( name: "ApprovalRequests"); migrationBuilder.DropTable( name: "ApprovalWorkflowInstances"); migrationBuilder.DropTable( name: "AspNetRoleClaims"); migrationBuilder.DropTable( name: "AspNetUserClaims"); migrationBuilder.DropTable( name: "AspNetUserLogins"); migrationBuilder.DropTable( name: "AspNetUserRoles"); migrationBuilder.DropTable( name: "AspNetUserTokens"); migrationBuilder.DropTable( name: "AssetRevisions"); migrationBuilder.DropTable( name: "Assets"); migrationBuilder.DropTable( name: "CalendarCatalogEntries"); migrationBuilder.DropTable( name: "CalendarEvents"); migrationBuilder.DropTable( name: "Campaigns"); migrationBuilder.DropTable( name: "Channels"); migrationBuilder.DropTable( name: "Clients"); migrationBuilder.DropTable( name: "Comments"); migrationBuilder.DropTable( name: "ContentItemActivityEntries"); migrationBuilder.DropTable( name: "ContentItemRevisions"); migrationBuilder.DropTable( name: "ContentItems"); migrationBuilder.DropTable( name: "FeedbackActivityEntries"); migrationBuilder.DropTable( name: "FeedbackComments"); migrationBuilder.DropTable( name: "FeedbackScreenshots"); migrationBuilder.DropTable( name: "FeedbackTags"); migrationBuilder.DropTable( name: "NotificationEvents"); migrationBuilder.DropTable( name: "OrganizationMemberships"); migrationBuilder.DropTable( name: "UserCalendarExportFeeds"); migrationBuilder.DropTable( name: "WorkspaceApprovalStepConfigurations"); migrationBuilder.DropTable( name: "WorkspaceInvites"); migrationBuilder.DropTable( name: "Workspaces"); migrationBuilder.DropTable( name: "AspNetRoles"); migrationBuilder.DropTable( name: "AspNetUsers"); migrationBuilder.DropTable( name: "CalendarSources"); migrationBuilder.DropTable( name: "FeedbackReports"); migrationBuilder.DropTable( name: "Organizations"); } } }