using System; using Microsoft.EntityFrameworkCore.Migrations; namespace Win_in.Sfs.Message.Migrations { public partial class rebuildmessage : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "MessageChatMessage"); migrationBuilder.DropTable( name: "MessageMessageType__SubscribePeople"); migrationBuilder.DropTable( name: "MessageSiteMessage"); migrationBuilder.DropTable( name: "MessageSiteMessage__SubscribePeople"); migrationBuilder.DropTable( name: "MessageSubscribePeople"); migrationBuilder.DropTable( name: "MessageSystemMessage"); migrationBuilder.DropPrimaryKey( name: "PK_MessageMessageType", table: "MessageMessageType"); migrationBuilder.DropIndex( name: "IX_MessageMessageType_Company", table: "MessageMessageType"); migrationBuilder.DropColumn( name: "EmailTemplateName", table: "MessageMessageType"); migrationBuilder.DropColumn( name: "MessageCategory", table: "MessageMessageType"); migrationBuilder.RenameTable( name: "MessageMessageType", newName: "Message_MessageType"); migrationBuilder.RenameColumn( name: "SmsTemplateName", table: "Message_MessageType", newName: "EmailTemplate"); migrationBuilder.AlterColumn( name: "MessageTypeName", table: "Message_MessageType", type: "nvarchar(64)", maxLength: 64, nullable: true, oldClrType: typeof(string), oldType: "nvarchar(max)", oldMaxLength: 4096, oldNullable: true); migrationBuilder.AddColumn( name: "MessageTypeCode", table: "Message_MessageType", type: "nvarchar(64)", maxLength: 64, nullable: true); migrationBuilder.AddColumn( name: "SmsTemplate", table: "Message_MessageType", type: "nvarchar(1024)", maxLength: 1024, nullable: true); migrationBuilder.AddPrimaryKey( name: "PK_Message_MessageType", table: "Message_MessageType", column: "Id"); migrationBuilder.CreateTable( name: "Message_Announcement", columns: table => new { Id = table.Column(type: "uniqueidentifier", nullable: false), Title = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: false), Brief = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: false), Content = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), MessageLevel = table.Column(type: "int", nullable: false), ActiveTime = table.Column(type: "datetime2", nullable: false), ExpireTime = table.Column(type: "datetime2", nullable: false), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), CreatorId = table.Column(type: "uniqueidentifier", nullable: true), LastModificationTime = table.Column(type: "datetime2", nullable: true), LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), TenantId = table.Column(type: "uniqueidentifier", nullable: true), Remark = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), Company = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false) }, constraints: table => { table.PrimaryKey("PK_Message_Announcement", x => x.Id); }); migrationBuilder.CreateTable( name: "Message_MessageTypeSubscribe", columns: table => new { Id = table.Column(type: "uniqueidentifier", nullable: false), UserId = table.Column(type: "uniqueidentifier", nullable: false), Username = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), MessageTypeId = table.Column(type: "uniqueidentifier", nullable: false), MessageTypeCode = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), CreatorId = table.Column(type: "uniqueidentifier", nullable: true), LastModificationTime = table.Column(type: "datetime2", nullable: true), LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), TenantId = table.Column(type: "uniqueidentifier", nullable: true), Remark = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), Company = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false) }, constraints: table => { table.PrimaryKey("PK_Message_MessageTypeSubscribe", x => x.Id); }); migrationBuilder.CreateTable( name: "Message_NotifyMessage", columns: table => new { Id = table.Column(type: "uniqueidentifier", nullable: false), MessageType = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), CreatorId = table.Column(type: "uniqueidentifier", nullable: true), LastModificationTime = table.Column(type: "datetime2", nullable: true), LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), TenantId = table.Column(type: "uniqueidentifier", nullable: true), Remark = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), Company = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), Title = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: false), Content = table.Column(type: "nvarchar(max)", nullable: true), MessageLevel = table.Column(type: "int", nullable: false), SendTime = table.Column(type: "datetime2", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Message_NotifyMessage", x => x.Id); }); migrationBuilder.CreateTable( name: "Message_PrivateMessage", columns: table => new { Id = table.Column(type: "uniqueidentifier", nullable: false), FromUserId = table.Column(type: "uniqueidentifier", nullable: false), ToUserId = table.Column(type: "uniqueidentifier", nullable: false), FromUsername = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), ToUsername = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), HasRead = table.Column(type: "bit", nullable: false), ReadTime = table.Column(type: "datetime2", nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), CreatorId = table.Column(type: "uniqueidentifier", nullable: true), LastModificationTime = table.Column(type: "datetime2", nullable: true), LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), TenantId = table.Column(type: "uniqueidentifier", nullable: true), Remark = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), Company = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), Title = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: false), Content = table.Column(type: "nvarchar(max)", nullable: true), MessageLevel = table.Column(type: "int", nullable: false), SendTime = table.Column(type: "datetime2", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Message_PrivateMessage", x => x.Id); }); migrationBuilder.CreateTable( name: "Message_UserNotifyMessage", columns: table => new { Id = table.Column(type: "uniqueidentifier", nullable: false), UserId = table.Column(type: "uniqueidentifier", nullable: false), Username = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), MessageId = table.Column(type: "uniqueidentifier", nullable: false), Title = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: true), HasRead = table.Column(type: "bit", nullable: false), ReadTime = table.Column(type: "datetime2", nullable: true), HasPush = table.Column(type: "bit", nullable: false), PushTime = table.Column(type: "datetime2", nullable: true), SmsHasSent = table.Column(type: "bit", nullable: false), SmsSendTime = table.Column(type: "datetime2", nullable: true), EmailHasSent = table.Column(type: "bit", nullable: false), EmailSendTime = table.Column(type: "datetime2", nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), CreatorId = table.Column(type: "uniqueidentifier", nullable: true), LastModificationTime = table.Column(type: "datetime2", nullable: true), LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), TenantId = table.Column(type: "uniqueidentifier", nullable: true), Remark = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), Company = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false) }, constraints: table => { table.PrimaryKey("PK_Message_UserNotifyMessage", x => x.Id); }); migrationBuilder.CreateIndex( name: "IX_Message_MessageType_Company_MessageTypeCode", table: "Message_MessageType", columns: new[] { "Company", "MessageTypeCode" }); migrationBuilder.CreateIndex( name: "IX_Message_Announcement_Company_Title", table: "Message_Announcement", columns: new[] { "Company", "Title" }); migrationBuilder.CreateIndex( name: "IX_Message_MessageTypeSubscribe_Company_UserId_MessageTypeId", table: "Message_MessageTypeSubscribe", columns: new[] { "Company", "UserId", "MessageTypeId" }); migrationBuilder.CreateIndex( name: "IX_Message_NotifyMessage_Company_Title", table: "Message_NotifyMessage", columns: new[] { "Company", "Title" }); migrationBuilder.CreateIndex( name: "IX_Message_PrivateMessage_Company_FromUserId_ToUserId_Title", table: "Message_PrivateMessage", columns: new[] { "Company", "FromUserId", "ToUserId", "Title" }); migrationBuilder.CreateIndex( name: "IX_Message_UserNotifyMessage_Company_UserId_MessageId", table: "Message_UserNotifyMessage", columns: new[] { "Company", "UserId", "MessageId" }); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "Message_Announcement"); migrationBuilder.DropTable( name: "Message_MessageTypeSubscribe"); migrationBuilder.DropTable( name: "Message_NotifyMessage"); migrationBuilder.DropTable( name: "Message_PrivateMessage"); migrationBuilder.DropTable( name: "Message_UserNotifyMessage"); migrationBuilder.DropPrimaryKey( name: "PK_Message_MessageType", table: "Message_MessageType"); migrationBuilder.DropIndex( name: "IX_Message_MessageType_Company_MessageTypeCode", table: "Message_MessageType"); migrationBuilder.DropColumn( name: "MessageTypeCode", table: "Message_MessageType"); migrationBuilder.DropColumn( name: "SmsTemplate", table: "Message_MessageType"); migrationBuilder.RenameTable( name: "Message_MessageType", newName: "MessageMessageType"); migrationBuilder.RenameColumn( name: "EmailTemplate", table: "MessageMessageType", newName: "SmsTemplateName"); migrationBuilder.AlterColumn( name: "MessageTypeName", table: "MessageMessageType", type: "nvarchar(max)", maxLength: 4096, nullable: true, oldClrType: typeof(string), oldType: "nvarchar(64)", oldMaxLength: 64, oldNullable: true); migrationBuilder.AddColumn( name: "EmailTemplateName", table: "MessageMessageType", type: "nvarchar(max)", maxLength: 4096, nullable: true); migrationBuilder.AddColumn( name: "MessageCategory", table: "MessageMessageType", type: "int", maxLength: 4096, nullable: false, defaultValue: 0); migrationBuilder.AddPrimaryKey( name: "PK_MessageMessageType", table: "MessageMessageType", column: "Id"); migrationBuilder.CreateTable( name: "MessageChatMessage", columns: table => new { Id = table.Column(type: "uniqueidentifier", nullable: false), Company = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), Content = table.Column(type: "nvarchar(max)", nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), CreatorId = table.Column(type: "uniqueidentifier", nullable: true), EnumMessageLevel = table.Column(type: "int", nullable: false), EnumSendToType = table.Column(type: "int", nullable: false), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), From = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), IsPush = table.Column(type: "bit", nullable: false), IsRead = table.Column(type: "bit", nullable: false), IsSendEmail = table.Column(type: "bit", nullable: false), IsSendSms = table.Column(type: "bit", nullable: false), LastModificationTime = table.Column(type: "datetime2", nullable: true), LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), MessageContentType = table.Column(type: "nvarchar(max)", nullable: false), ReadTime = table.Column(type: "datetime2", nullable: false), Remark = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), SendTime = table.Column(type: "datetime2", nullable: false), TenantId = table.Column(type: "uniqueidentifier", nullable: true), Title = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: false), To = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false) }, constraints: table => { table.PrimaryKey("PK_MessageChatMessage", x => x.Id); }); migrationBuilder.CreateTable( name: "MessageMessageType__SubscribePeople", columns: table => new { Id = table.Column(type: "uniqueidentifier", maxLength: 64, nullable: false), Company = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), CreatorId = table.Column(type: "uniqueidentifier", nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), LastModificationTime = table.Column(type: "datetime2", nullable: true), LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), MessageTypeId = table.Column(type: "uniqueidentifier", maxLength: 4096, nullable: false), PeopleId = table.Column(type: "uniqueidentifier", maxLength: 64, nullable: false), Remark = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), TenantId = table.Column(type: "uniqueidentifier", nullable: true) }, constraints: table => { table.PrimaryKey("PK_MessageMessageType__SubscribePeople", x => x.Id); }); migrationBuilder.CreateTable( name: "MessageSiteMessage", columns: table => new { Id = table.Column(type: "uniqueidentifier", nullable: false), Company = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), Content = table.Column(type: "nvarchar(max)", nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), CreatorId = table.Column(type: "uniqueidentifier", nullable: true), EnumMessageLevel = table.Column(type: "int", nullable: false), EnumMessageStats = table.Column(type: "int", nullable: false), EnumSendToType = table.Column(type: "int", nullable: false), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), From = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), LastModificationTime = table.Column(type: "datetime2", nullable: true), LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), MessageContentType = table.Column(type: "nvarchar(max)", nullable: false), MessageTypeId = table.Column(type: "uniqueidentifier", nullable: false), Remark = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), SendTime = table.Column(type: "datetime2", nullable: false), TenantId = table.Column(type: "uniqueidentifier", nullable: true), Title = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: false) }, constraints: table => { table.PrimaryKey("PK_MessageSiteMessage", x => x.Id); }); migrationBuilder.CreateTable( name: "MessageSiteMessage__SubscribePeople", columns: table => new { Id = table.Column(type: "uniqueidentifier", maxLength: 64, nullable: false), Company = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), CreatorId = table.Column(type: "uniqueidentifier", nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), IsPush = table.Column(type: "bit", maxLength: 4096, nullable: false), IsRead = table.Column(type: "bit", maxLength: 4096, nullable: false), IsSenTEmail = table.Column(type: "bit", maxLength: 4096, nullable: false), IsSenTSms = table.Column(type: "bit", nullable: false), LastModificationTime = table.Column(type: "datetime2", nullable: true), LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), PeopleId = table.Column(type: "uniqueidentifier", maxLength: 64, nullable: false), PushDateTime = table.Column(type: "datetime2", maxLength: 4096, nullable: false), ReadDateTime = table.Column(type: "datetime2", maxLength: 4096, nullable: false), Remark = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), SiteMessageId = table.Column(type: "uniqueidentifier", maxLength: 4096, nullable: false), TenantId = table.Column(type: "uniqueidentifier", nullable: true) }, constraints: table => { table.PrimaryKey("PK_MessageSiteMessage__SubscribePeople", x => x.Id); }); migrationBuilder.CreateTable( name: "MessageSubscribePeople", columns: table => new { Id = table.Column(type: "uniqueidentifier", maxLength: 64, nullable: false), Company = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), CreatorId = table.Column(type: "uniqueidentifier", nullable: true), Email = table.Column(type: "nvarchar(max)", nullable: false), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), LastModificationTime = table.Column(type: "datetime2", nullable: true), LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), NickName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), PeopleId = table.Column(type: "uniqueidentifier", maxLength: 64, nullable: false), PhoneNumber = table.Column(type: "nvarchar(max)", nullable: false), Remark = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), TenantId = table.Column(type: "uniqueidentifier", nullable: true) }, constraints: table => { table.PrimaryKey("PK_MessageSubscribePeople", x => x.Id); }); migrationBuilder.CreateTable( name: "MessageSystemMessage", columns: table => new { Id = table.Column(type: "uniqueidentifier", nullable: false), Company = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), Content = table.Column(type: "nvarchar(max)", nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), CreatorId = table.Column(type: "uniqueidentifier", nullable: true), EnumMessageLevel = table.Column(type: "int", nullable: false), EnumSendToType = table.Column(type: "int", nullable: false), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), From = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), IsPush = table.Column(type: "bit", nullable: false), IsRead = table.Column(type: "bit", nullable: false), IsSendEmail = table.Column(type: "bit", nullable: false), IsSendSms = table.Column(type: "bit", nullable: false), LastModificationTime = table.Column(type: "datetime2", nullable: true), LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), MessageContentType = table.Column(type: "nvarchar(max)", nullable: false), ReadTime = table.Column(type: "datetime2", nullable: false), Remark = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), SendTime = table.Column(type: "datetime2", nullable: false), TenantId = table.Column(type: "uniqueidentifier", nullable: true), Title = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: false), To = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false) }, constraints: table => { table.PrimaryKey("PK_MessageSystemMessage", x => x.Id); }); migrationBuilder.CreateIndex( name: "IX_MessageMessageType_Company", table: "MessageMessageType", column: "Company"); migrationBuilder.CreateIndex( name: "IX_MessageChatMessage_Company", table: "MessageChatMessage", column: "Company"); migrationBuilder.CreateIndex( name: "IX_MessageMessageType__SubscribePeople_Company", table: "MessageMessageType__SubscribePeople", column: "Company"); migrationBuilder.CreateIndex( name: "IX_MessageSiteMessage_Company", table: "MessageSiteMessage", column: "Company"); migrationBuilder.CreateIndex( name: "IX_MessageSiteMessage__SubscribePeople_Company", table: "MessageSiteMessage__SubscribePeople", column: "Company"); migrationBuilder.CreateIndex( name: "IX_MessageSubscribePeople_Company", table: "MessageSubscribePeople", column: "Company"); migrationBuilder.CreateIndex( name: "IX_MessageSystemMessage_Company", table: "MessageSystemMessage", column: "Company"); } } }