問:SET NUMERIC_ROUNDABORT OFF GO SET ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, ARITHABORT, QUOTED_IDENTIFIER, ANSI_NULLS ON GO SET XACT_ABORT ON GO SET TRANSACTION ISOLATION LEVEL Serializable GO BEGIN TRANSACTION GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[AspNetUsers]' GO CREATE TABLE [dbo].[AspNetUsers] ( [Id] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [TrueName] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Photo] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Profession] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [QQ] [int] NOT NULL, [WeChat] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Email] [nvarchar] (256) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [EmailConfirmed] [bit] NOT NULL, [PasswordHash] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [SecurityStamp] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [PhoneNumber] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [PhoneNumberConfirmed] [bit] NOT NULL, [TwoFactorEnabled] [bit] NOT NULL, [LockoutEndDateUtc] [datetime] NULL, [LockoutEnabled] [bit] NOT NULL, [AccessFailedCount] [int] NOT NULL, [UserName] [nvarchar] (256) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.AspNetUsers] on [dbo].[AspNetUsers]' GO ALTER TABLE [dbo].[AspNetUsers] ADD CONSTRAINT [PK_dbo.AspNetUsers] PRIMARY KEY CLUSTERED ([Id]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [UserNameIndex] on [dbo].[AspNetUsers]' GO CREATE UNIQUE NONCLUSTERED INDEX [UserNameIndex] ON [dbo].[AspNetUsers] ([UserName]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[Article]' GO CREATE TABLE [dbo].[Article] ( [ID] [int] NOT NULL, [Url] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Title] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [IndexImage] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Summary] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Content] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Date] [datetime] NULL, [Status] [int] NOT NULL, [ArticleType] [int] NOT NULL, [Order] [int] NULL, [Board_ID] [int] NULL, [ParentArticle_ID] [int] NULL, [User_Id] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.Article] on [dbo].[Article]' GO ALTER TABLE [dbo].[Article] ADD CONSTRAINT [PK_dbo.Article] PRIMARY KEY CLUSTERED ([ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_Board_ID] on [dbo].[Article]' GO CREATE NONCLUSTERED INDEX [IX_Board_ID] ON [dbo].[Article] ([Board_ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_ID] on [dbo].[Article]' GO CREATE NONCLUSTERED INDEX [IX_ID] ON [dbo].[Article] ([ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_ParentArticle_ID] on [dbo].[Article]' GO CREATE NONCLUSTERED INDEX [IX_ParentArticle_ID] ON [dbo].[Article] ([ParentArticle_ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_User_Id] on [dbo].[Article]' GO CREATE NONCLUSTERED INDEX [IX_User_Id] ON [dbo].[Article] ([User_Id]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[Board]' GO CREATE TABLE [dbo].[Board] ( [ID] [int] NOT NULL, [Title] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [IndexImage] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Summary] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Url] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [BoardType] [int] NOT NULL, [Order] [int] NULL, [Page_ID] [int] NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.Board] on [dbo].[Board]' GO ALTER TABLE [dbo].[Board] ADD CONSTRAINT [PK_dbo.Board] PRIMARY KEY CLUSTERED ([ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_ID] on [dbo].[Board]' GO CREATE NONCLUSTERED INDEX [IX_ID] ON [dbo].[Board] ([ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_Page_ID] on [dbo].[Board]' GO CREATE NONCLUSTERED INDEX [IX_Page_ID] ON [dbo].[Board] ([Page_ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[SEO]' GO CREATE TABLE [dbo].[SEO] ( [ID] [int] NOT NULL IDENTITY(1, 1), [Title] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [KeyWords] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Description] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.SEO] on [dbo].[SEO]' GO ALTER TABLE [dbo].[SEO] ADD CONSTRAINT [PK_dbo.SEO] PRIMARY KEY CLUSTERED ([ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[AspNetUserClaims]' GO CREATE TABLE [dbo].[AspNetUserClaims] ( [Id] [int] NOT NULL IDENTITY(1, 1), [UserId] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [ClaimType] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [ClaimValue] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.AspNetUserClaims] on [dbo].[AspNetUserClaims]' GO ALTER TABLE [dbo].[AspNetUserClaims] ADD CONSTRAINT [PK_dbo.AspNetUserClaims] PRIMARY KEY CLUSTERED ([Id]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_UserId] on [dbo].[AspNetUserClaims]' GO CREATE NONCLUSTERED INDEX [IX_UserId] ON [dbo].[AspNetUserClaims] ([UserId]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[AspNetUserLogins]' GO CREATE TABLE [dbo].[AspNetUserLogins] ( [LoginProvider] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [ProviderKey] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [UserId] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.AspNetUserLogins] on [dbo].[AspNetUserLogins]' GO ALTER TABLE [dbo].[AspNetUserLogins] ADD CONSTRAINT [PK_dbo.AspNetUserLogins] PRIMARY KEY CLUSTERED ([LoginProvider], [ProviderKey], [UserId]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_UserId] on [dbo].[AspNetUserLogins]' GO CREATE NONCLUSTERED INDEX [IX_UserId] ON [dbo].[AspNetUserLogins] ([UserId]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[AspNetRoles]' GO CREATE TABLE [dbo].[AspNetRoles] ( [Id] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [Name] [nvarchar] (256) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.AspNetRoles] on [dbo].[AspNetRoles]' GO ALTER TABLE [dbo].[AspNetRoles] ADD CONSTRAINT [PK_dbo.AspNetRoles] PRIMARY KEY CLUSTERED ([Id]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [RoleNameIndex] on [dbo].[AspNetRoles]' GO CREATE UNIQUE NONCLUSTERED INDEX [RoleNameIndex] ON [dbo].[AspNetRoles] ([Name]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[AspNetUserRoles]' GO CREATE TABLE [dbo].[AspNetUserRoles] ( [UserId] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [RoleId] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.AspNetUserRoles] on [dbo].[AspNetUserRoles]' GO ALTER TABLE [dbo].[AspNetUserRoles] ADD CONSTRAINT [PK_dbo.AspNetUserRoles] PRIMARY KEY CLUSTERED ([UserId], [RoleId]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_RoleId] on [dbo].[AspNetUserRoles]' GO CREATE NONCLUSTERED INDEX [IX_RoleId] ON [dbo].[AspNetUserRoles] ([RoleId]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_UserId] on [dbo].[AspNetUserRoles]' GO CREATE NONCLUSTERED INDEX [IX_UserId] ON [dbo].[AspNetUserRoles] ([UserId]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[Page]' GO CREATE TABLE [dbo].[Page] ( [ID] [int] NOT NULL, [Title] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Url] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Order] [int] NULL, [Parent_ID] [int] NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.Page] on [dbo].[Page]' GO ALTER TABLE [dbo].[Page] ADD CONSTRAINT [PK_dbo.Page] PRIMARY KEY CLUSTERED ([ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_ID] on [dbo].[Page]' GO CREATE NONCLUSTERED INDEX [IX_ID] ON [dbo].[Page] ([ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_Parent_ID] on [dbo].[Page]' GO CREATE NONCLUSTERED INDEX [IX_Parent_ID] ON [dbo].[Page] ([Parent_ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[__MigrationHistory]' GO CREATE TABLE [dbo].[__MigrationHistory] ( [MigrationId] [nvarchar] (150) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [ContextKey] [nvarchar] (300) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [Model] [varbinary] (max) NOT NULL, [ProductVersion] [nvarchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.__MigrationHistory] on [dbo].[__MigrationHistory]' GO ALTER TABLE [dbo].[__MigrationHistory] ADD CONSTRAINT [PK_dbo.__MigrationHistory] PRIMARY KEY CLUSTERED ([MigrationId], [ContextKey]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Adding foreign keys to [dbo].[Article]' GO ALTER TABLE [dbo].[Article] ADD CONSTRAINT [FK_dbo.Article_dbo.Article_ParentArticle_ID] FOREIGN KEY ([ParentArticle_ID]) REFERENCES [dbo].[Article] ([ID]) GO ALTER TABLE [dbo].[Article] ADD CONSTRAINT [FK_dbo.Article_dbo.SEO_ID] FOREIGN KEY ([ID]) REFERENCES [dbo].[SEO] ([ID]) ON DELETE CASCADE GO ALTER TABLE [dbo].[Article] ADD CONSTRAINT [FK_dbo.Article_dbo.Board_Board_ID] FOREIGN KEY ([Board_ID]) REFERENCES [dbo].[Board] ([ID]) GO ALTER TABLE [dbo].[Article] ADD CONSTRAINT [FK_dbo.Article_dbo.AspNetUsers_User_Id] FOREIGN KEY ([User_Id]) REFERENCES [dbo].[AspNetUsers] ([Id]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Adding foreign keys to [dbo].[AspNetUserRoles]' GO ALTER TABLE [dbo].[AspNetUserRoles] ADD CONSTRAINT [FK_dbo.AspNetUserRoles_dbo.AspNetRoles_RoleId] FOREIGN KEY ([RoleId]) REFERENCES [dbo].[AspNetRoles] ([Id]) ON DELETE CASCADE GO ALTER TABLE [dbo].[AspNetUserRoles] ADD CONSTRAINT [FK_dbo.AspNetUserRoles_dbo.AspNetUsers_UserId] FOREIGN KEY ([UserId]) REFERENCES [dbo].[AspNetUsers] ([Id]) ON DELETE CASCADE GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Adding foreign keys to [dbo].[AspNetUserClaims]' GO ALTER TABLE [dbo].[AspNetUserClaims] ADD CONSTRAINT [FK_dbo.AspNetUserClaims_dbo.AspNetUsers_UserId] FOREIGN KEY ([UserId]) REFERENCES [dbo].[AspNetUsers] ([Id]) ON DELETE CASCADE GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Adding foreign keys to [dbo].[AspNetUserLogins]' GO ALTER TABLE [dbo].[AspNetUserLogins] ADD CONSTRAINT [FK_dbo.AspNetUserLogins_dbo.AspNetUsers_UserId] FOREIGN KEY ([UserId]) REFERENCES [dbo].[AspNetUsers] ([Id]) ON DELETE CASCADE GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Adding foreign keys to [dbo].[Board]' GO ALTER TABLE [dbo].[Board] ADD CONSTRAINT [FK_dbo.Board_dbo.SEO_ID] FOREIGN KEY ([ID]) REFERENCES [dbo].[SEO] ([ID]) ON DELETE CASCADE GO ALTER TABLE [dbo].[Board] ADD CONSTRAINT [FK_dbo.Board_dbo.Page_Page_ID] FOREIGN KEY ([Page_ID]) REFERENCES [dbo].[Page] ([ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Adding foreign keys to [dbo].[Page]' GO ALTER TABLE [dbo].[Page] ADD CONSTRAINT [FK_dbo.Page_dbo.Page_Parent_ID] FOREIGN KEY ([Parent_ID]) REFERENCES [dbo].[Page] ([ID]) GO ALTER TABLE [dbo].[Page] ADD CONSTRAINT [FK_dbo.Page_dbo.SEO_ID] FOREIGN KEY ([ID]) REFERENCES [dbo].[SEO] ([ID]) ON DELETE CASCADE GO IF @@ERROR <> 0 SET NOEXEC ON GO COMMIT TRANSACTION GO IF @@ERROR <> 0 SET NOEXEC ON GO DECLARE @Success AS BIT SET @Success = 1 SET NOEXEC OFF IF (@Success = 1) PRINT 'The database update succeeded' ELSE BEGIN IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION PRINT 'The database update failed' END GO
問: SET NUMERIC_ROUNDABORT OFF GO SET ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, ARITHABORT, QUOTED_IDENTIFIER, ANSI_NULLS ON GO SET XACT_ABORT ON GO SET TRANSACTION ISOLATION LEVEL Serializable GO BEGIN TRANSACTION GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[AspNetUsers]' GO CREATE TABLE [dbo].[AspNetUsers] ( [Id] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [TrueName] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Photo] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Profession] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [QQ] [int] NOT NULL, [WeChat] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Email] [nvarchar] (256) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [EmailConfirmed] [bit] NOT NULL, [PasswordHash] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [SecurityStamp] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [PhoneNumber] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [PhoneNumberConfirmed] [bit] NOT NULL, [TwoFactorEnabled] [bit] NOT NULL, [LockoutEndDateUtc] [datetime] NULL, [LockoutEnabled] [bit] NOT NULL, [AccessFailedCount] [int] NOT NULL, [UserName] [nvarchar] (256) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.AspNetUsers] on [dbo].[AspNetUsers]' GO ALTER TABLE [dbo].[AspNetUsers] ADD CONSTRAINT [PK_dbo.AspNetUsers] PRIMARY KEY CLUSTERED ([Id]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [UserNameIndex] on [dbo].[AspNetUsers]' GO CREATE UNIQUE NONCLUSTERED INDEX [UserNameIndex] ON [dbo].[AspNetUsers] ([UserName]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[Article]' GO CREATE TABLE [dbo].[Article] ( [ID] [int] NOT NULL, [Url] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Title] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [IndexImage] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Summary] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Content] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Date] [datetime] NULL, [Status] [int] NOT NULL, [ArticleType] [int] NOT NULL, [Order] [int] NULL, [Board_ID] [int] NULL, [ParentArticle_ID] [int] NULL, [User_Id] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.Article] on [dbo].[Article]' GO ALTER TABLE [dbo].[Article] ADD CONSTRAINT [PK_dbo.Article] PRIMARY KEY CLUSTERED ([ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_Board_ID] on [dbo].[Article]' GO CREATE NONCLUSTERED INDEX [IX_Board_ID] ON [dbo].[Article] ([Board_ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_ID] on [dbo].[Article]' GO CREATE NONCLUSTERED INDEX [IX_ID] ON [dbo].[Article] ([ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_ParentArticle_ID] on [dbo].[Article]' GO CREATE NONCLUSTERED INDEX [IX_ParentArticle_ID] ON [dbo].[Article] ([ParentArticle_ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_User_Id] on [dbo].[Article]' GO CREATE NONCLUSTERED INDEX [IX_User_Id] ON [dbo].[Article] ([User_Id]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[Board]' GO CREATE TABLE [dbo].[Board] ( [ID] [int] NOT NULL, [Title] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [IndexImage] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Summary] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Url] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [BoardType] [int] NOT NULL, [Order] [int] NULL, [Page_ID] [int] NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.Board] on [dbo].[Board]' GO ALTER TABLE [dbo].[Board] ADD CONSTRAINT [PK_dbo.Board] PRIMARY KEY CLUSTERED ([ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_ID] on [dbo].[Board]' GO CREATE NONCLUSTERED INDEX [IX_ID] ON [dbo].[Board] ([ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_Page_ID] on [dbo].[Board]' GO CREATE NONCLUSTERED INDEX [IX_Page_ID] ON [dbo].[Board] ([Page_ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[SEO]' GO CREATE TABLE [dbo].[SEO] ( [ID] [int] NOT NULL IDENTITY(1, 1), [Title] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [KeyWords] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Description] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.SEO] on [dbo].[SEO]' GO ALTER TABLE [dbo].[SEO] ADD CONSTRAINT [PK_dbo.SEO] PRIMARY KEY CLUSTERED ([ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[AspNetUserClaims]' GO CREATE TABLE [dbo].[AspNetUserClaims] ( [Id] [int] NOT NULL IDENTITY(1, 1), [UserId] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [ClaimType] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [ClaimValue] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.AspNetUserClaims] on [dbo].[AspNetUserClaims]' GO ALTER TABLE [dbo].[AspNetUserClaims] ADD CONSTRAINT [PK_dbo.AspNetUserClaims] PRIMARY KEY CLUSTERED ([Id]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_UserId] on [dbo].[AspNetUserClaims]' GO CREATE NONCLUSTERED INDEX [IX_UserId] ON [dbo].[AspNetUserClaims] ([UserId]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[AspNetUserLogins]' GO CREATE TABLE [dbo].[AspNetUserLogins] ( [LoginProvider] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [ProviderKey] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [UserId] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.AspNetUserLogins] on [dbo].[AspNetUserLogins]' GO ALTER TABLE [dbo].[AspNetUserLogins] ADD CONSTRAINT [PK_dbo.AspNetUserLogins] PRIMARY KEY CLUSTERED ([LoginProvider], [ProviderKey], [UserId]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_UserId] on [dbo].[AspNetUserLogins]' GO CREATE NONCLUSTERED INDEX [IX_UserId] ON [dbo].[AspNetUserLogins] ([UserId]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[AspNetRoles]' GO CREATE TABLE [dbo].[AspNetRoles] ( [Id] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [Name] [nvarchar] (256) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.AspNetRoles] on [dbo].[AspNetRoles]' GO ALTER TABLE [dbo].[AspNetRoles] ADD CONSTRAINT [PK_dbo.AspNetRoles] PRIMARY KEY CLUSTERED ([Id]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [RoleNameIndex] on [dbo].[AspNetRoles]' GO CREATE UNIQUE NONCLUSTERED INDEX [RoleNameIndex] ON [dbo].[AspNetRoles] ([Name]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[AspNetUserRoles]' GO CREATE TABLE [dbo].[AspNetUserRoles] ( [UserId] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [RoleId] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.AspNetUserRoles] on [dbo].[AspNetUserRoles]' GO ALTER TABLE [dbo].[AspNetUserRoles] ADD CONSTRAINT [PK_dbo.AspNetUserRoles] PRIMARY KEY CLUSTERED ([UserId], [RoleId]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_RoleId] on [dbo].[AspNetUserRoles]' GO CREATE NONCLUSTERED INDEX [IX_RoleId] ON [dbo].[AspNetUserRoles] ([RoleId]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_UserId] on [dbo].[AspNetUserRoles]' GO CREATE NONCLUSTERED INDEX [IX_UserId] ON [dbo].[AspNetUserRoles] ([UserId]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[Page]' GO CREATE TABLE [dbo].[Page] ( [ID] [int] NOT NULL, [Title] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Url] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [Order] [int] NULL, [Parent_ID] [int] NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.Page] on [dbo].[Page]' GO ALTER TABLE [dbo].[Page] ADD CONSTRAINT [PK_dbo.Page] PRIMARY KEY CLUSTERED ([ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_ID] on [dbo].[Page]' GO CREATE NONCLUSTERED INDEX [IX_ID] ON [dbo].[Page] ([ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating index [IX_Parent_ID] on [dbo].[Page]' GO CREATE NONCLUSTERED INDEX [IX_Parent_ID] ON [dbo].[Page] ([Parent_ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating [dbo].[__MigrationHistory]' GO CREATE TABLE [dbo].[__MigrationHistory] ( [MigrationId] [nvarchar] (150) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [ContextKey] [nvarchar] (300) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [Model] [varbinary] (max) NOT NULL, [ProductVersion] [nvarchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Creating primary key [PK_dbo.__MigrationHistory] on [dbo].[__MigrationHistory]' GO ALTER TABLE [dbo].[__MigrationHistory] ADD CONSTRAINT [PK_dbo.__MigrationHistory] PRIMARY KEY CLUSTERED ([MigrationId], [ContextKey]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Adding foreign keys to [dbo].[Article]' GO ALTER TABLE [dbo].[Article] ADD CONSTRAINT [FK_dbo.Article_dbo.Article_ParentArticle_ID] FOREIGN KEY ([ParentArticle_ID]) REFERENCES [dbo].[Article] ([ID]) GO ALTER TABLE [dbo].[Article] ADD CONSTRAINT [FK_dbo.Article_dbo.SEO_ID] FOREIGN KEY ([ID]) REFERENCES [dbo].[SEO] ([ID]) ON DELETE CASCADE GO ALTER TABLE [dbo].[Article] ADD CONSTRAINT [FK_dbo.Article_dbo.Board_Board_ID] FOREIGN KEY ([Board_ID]) REFERENCES [dbo].[Board] ([ID]) GO ALTER TABLE [dbo].[Article] ADD CONSTRAINT [FK_dbo.Article_dbo.AspNetUsers_User_Id] FOREIGN KEY ([User_Id]) REFERENCES [dbo].[AspNetUsers] ([Id]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Adding foreign keys to [dbo].[AspNetUserRoles]' GO ALTER TABLE [dbo].[AspNetUserRoles] ADD CONSTRAINT [FK_dbo.AspNetUserRoles_dbo.AspNetRoles_RoleId] FOREIGN KEY ([RoleId]) REFERENCES [dbo].[AspNetRoles] ([Id]) ON DELETE CASCADE GO ALTER TABLE [dbo].[AspNetUserRoles] ADD CONSTRAINT [FK_dbo.AspNetUserRoles_dbo.AspNetUsers_UserId] FOREIGN KEY ([UserId]) REFERENCES [dbo].[AspNetUsers] ([Id]) ON DELETE CASCADE GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Adding foreign keys to [dbo].[AspNetUserClaims]' GO ALTER TABLE [dbo].[AspNetUserClaims] ADD CONSTRAINT [FK_dbo.AspNetUserClaims_dbo.AspNetUsers_UserId] FOREIGN KEY ([UserId]) REFERENCES [dbo].[AspNetUsers] ([Id]) ON DELETE CASCADE GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Adding foreign keys to [dbo].[AspNetUserLogins]' GO ALTER TABLE [dbo].[AspNetUserLogins] ADD CONSTRAINT [FK_dbo.AspNetUserLogins_dbo.AspNetUsers_UserId] FOREIGN KEY ([UserId]) REFERENCES [dbo].[AspNetUsers] ([Id]) ON DELETE CASCADE GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Adding foreign keys to [dbo].[Board]' GO ALTER TABLE [dbo].[Board] ADD CONSTRAINT [FK_dbo.Board_dbo.SEO_ID] FOREIGN KEY ([ID]) REFERENCES [dbo].[SEO] ([ID]) ON DELETE CASCADE GO ALTER TABLE [dbo].[Board] ADD CONSTRAINT [FK_dbo.Board_dbo.Page_Page_ID] FOREIGN KEY ([Page_ID]) REFERENCES [dbo].[Page] ([ID]) GO IF @@ERROR <> 0 SET NOEXEC ON GO PRINT N'Adding foreign keys to [dbo].[Page]' GO ALTER TABLE [dbo].[Page] ADD CONSTRAINT [FK_dbo.Page_dbo.Page_Parent_ID] FOREIGN KEY ([Parent_ID]) REFERENCES [dbo].[Page] ([ID]) GO ALTER TABLE [dbo].[Page] ADD CONSTRAINT [FK_dbo.Page_dbo.SEO_ID] FOREIGN KEY ([ID]) REFERENCES [dbo].[SEO] ([ID]) ON DELETE CASCADE GO IF @@ERROR <> 0 SET NOEXEC ON GO COMMIT TRANSACTION GO IF @@ERROR <> 0 SET NOEXEC ON GO DECLARE @Success AS BIT SET @Success = 1 SET NOEXEC OFF IF (@Success = 1) PRINT 'The database update succeeded' ELSE BEGIN IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION PRINT 'The database update failed' END GO