 Rank: YAF Forumling
Joined: 2/20/2008 Posts: 6 Location: St. Louis
|
Here's the script (in order) that I did to move everything from phpbb over to YAF. I don't know what version of phpbb I was using, because I turned it off a long time ago. I was getting spammed too much. The YAF version I did this under was 1.9.1.6. I use SQL Server 2005. I have an issue after it converts though: some of the topics aren't showing up on the page even though they're in the database. The thread for that issue can be seen here. What I did first was to follow the install instructions in order to install YAF. In my case, I also needed it to work inside my existing .NET application, so I also followed those instructions. Then I ran this script: First, you have to remove all of the constraints (I just removed all keys and indexes) that YAF sets up. I didn't check to see if they existed first, because I had just finished the install: Code:ALTER TABLE yaf_AccessMask DROP CONSTRAINT FK_yaf_AccessMask_yaf_Board ALTER TABLE yaf_Active DROP CONSTRAINT FK_yaf_Active_yaf_Board ALTER TABLE yaf_Active DROP CONSTRAINT FK_yaf_Active_yaf_Forum ALTER TABLE yaf_Active DROP CONSTRAINT FK_yaf_Active_yaf_Topic ALTER TABLE yaf_Active DROP CONSTRAINT FK_yaf_Active_yaf_User ALTER TABLE yaf_Active DROP CONSTRAINT PK_yaf_Active ALTER TABLE yaf_Attachment DROP CONSTRAINT FK_yaf_Attachment_yaf_Message ALTER TABLE yaf_Attachment DROP CONSTRAINT PK_yaf_Attachment ALTER TABLE yaf_BannedIP DROP CONSTRAINT FK_yaf_BannedIP_yaf_Board ALTER TABLE yaf_BannedIP DROP CONSTRAINT IX_yaf_BannedIP ALTER TABLE yaf_BannedIP DROP CONSTRAINT PK_yaf_BannedIP ALTER TABLE yaf_Category DROP CONSTRAINT FK_yaf_Category_yaf_Board ALTER TABLE yaf_Category DROP CONSTRAINT IX_yaf_Category ALTER TABLE yaf_CheckEmail DROP CONSTRAINT FK_yaf_CheckEmail_yaf_User ALTER TABLE yaf_CheckEmail DROP CONSTRAINT IX_yaf_CheckEmail ALTER TABLE yaf_CheckEmail DROP CONSTRAINT PK_yaf_CheckEmail ALTER TABLE yaf_Choice DROP CONSTRAINT FK_yaf_Choice_yaf_Poll ALTER TABLE yaf_Choice DROP CONSTRAINT PK_yaf_Choice ALTER TABLE yaf_EventLog DROP CONSTRAINT FK_yaf_EventLog_yaf_User ALTER TABLE yaf_EventLog DROP CONSTRAINT PK_EventLog ALTER TABLE yaf_Forum DROP CONSTRAINT FK_yaf_Forum_yaf_Category ALTER TABLE yaf_Category DROP CONSTRAINT PK_yaf_Category ALTER TABLE yaf_Forum DROP CONSTRAINT FK_yaf_Forum_yaf_Forum ALTER TABLE yaf_Forum DROP CONSTRAINT FK_yaf_Forum_yaf_Message ALTER TABLE yaf_Forum DROP CONSTRAINT FK_yaf_Forum_yaf_Topic ALTER TABLE yaf_Forum DROP CONSTRAINT FK_yaf_Forum_yaf_User ALTER TABLE yaf_Forum DROP CONSTRAINT IX_yaf_Forum ALTER TABLE yaf_ForumAccess DROP CONSTRAINT FK_yaf_ForumAccess_yaf_AccessMask ALTER TABLE yaf_ForumAccess DROP CONSTRAINT FK_yaf_ForumAccess_yaf_Forum ALTER TABLE yaf_ForumAccess DROP CONSTRAINT FK_yaf_ForumAccess_yaf_Group ALTER TABLE yaf_ForumAccess DROP CONSTRAINT PK_yaf_ForumAccess ALTER TABLE yaf_Group DROP CONSTRAINT FK_yaf_Group_yaf_Board ALTER TABLE yaf_Group DROP CONSTRAINT IX_yaf_Group ALTER TABLE yaf_Mail DROP CONSTRAINT PK_yaf_Mail ALTER TABLE yaf_Message DROP CONSTRAINT FK_yaf_Message_yaf_Message ALTER TABLE yaf_Message DROP CONSTRAINT FK_yaf_Message_yaf_Topic ALTER TABLE yaf_Message DROP CONSTRAINT FK_yaf_Message_yaf_User ALTER TABLE yaf_NntpForum DROP CONSTRAINT FK_yaf_NntpForum_yaf_NntpServer ALTER TABLE yaf_NntpServer DROP CONSTRAINT FK_yaf_NntpServer_yaf_Board ALTER TABLE yaf_NntpServer DROP CONSTRAINT PK_yaf_NntpServer ALTER TABLE yaf_NntpTopic DROP CONSTRAINT FK_yaf_NntpTopic_yaf_NntpForum ALTER TABLE yaf_NntpForum DROP CONSTRAINT PK_yaf_NntpForum ALTER TABLE yaf_NntpForum DROP CONSTRAINT FK_yaf_NntpForum_yaf_Forum ALTER TABLE yaf_NntpTopic DROP CONSTRAINT FK_yaf_NntpTopic_yaf_Topic ALTER TABLE yaf_NntpTopic DROP CONSTRAINT PK_yaf_NntpTopic ALTER TABLE yaf_PMessage DROP CONSTRAINT FK_yaf_PMessage_yaf_User1 ALTER TABLE yaf_PollVote DROP CONSTRAINT FK_yaf_PollVote_yaf_Poll ALTER TABLE yaf_PollVote DROP CONSTRAINT PK_yaf_PollVote ALTER TABLE yaf_Rank DROP CONSTRAINT FK_yaf_Rank_yaf_Board ALTER TABLE yaf_Rank DROP CONSTRAINT IX_yaf_Rank ALTER TABLE yaf_Registry DROP CONSTRAINT FK_yaf_Registry_yaf_Board ALTER TABLE yaf_Registry DROP CONSTRAINT PK_Registry ALTER TABLE yaf_Replace_Words DROP CONSTRAINT PK_Replace_Words ALTER TABLE yaf_Smiley DROP CONSTRAINT FK_yaf_Smiley_yaf_Board ALTER TABLE yaf_Smiley DROP CONSTRAINT IX_yaf_Smiley ALTER TABLE yaf_Smiley DROP CONSTRAINT PK_yaf_Smiley ALTER TABLE yaf_Topic DROP CONSTRAINT FK_yaf_Topic_yaf_Forum ALTER TABLE yaf_Topic DROP CONSTRAINT FK_yaf_Topic_yaf_Message ALTER TABLE yaf_Message DROP CONSTRAINT PK_yaf_Message ALTER TABLE yaf_Topic DROP CONSTRAINT FK_yaf_Topic_yaf_Poll ALTER TABLE yaf_Poll DROP CONSTRAINT PK_yaf_Poll ALTER TABLE yaf_Topic DROP CONSTRAINT FK_yaf_Topic_yaf_Topic ALTER TABLE yaf_Topic DROP CONSTRAINT FK_yaf_Topic_yaf_User ALTER TABLE yaf_Topic DROP CONSTRAINT FK_yaf_Topic_yaf_User2 ALTER TABLE yaf_User DROP CONSTRAINT FK_yaf_User_yaf_Board ALTER TABLE yaf_Board DROP CONSTRAINT PK_yaf_Board ALTER TABLE yaf_User DROP CONSTRAINT FK_yaf_User_yaf_Rank ALTER TABLE yaf_User DROP CONSTRAINT IX_yaf_User ALTER TABLE yaf_Rank DROP CONSTRAINT PK_yaf_Rank ALTER TABLE yaf_UserForum DROP CONSTRAINT FK_yaf_UserForum_yaf_AccessMask ALTER TABLE yaf_AccessMask DROP CONSTRAINT PK_yaf_AccessMask ALTER TABLE yaf_UserForum DROP CONSTRAINT FK_yaf_UserForum_yaf_Forum ALTER TABLE yaf_UserForum DROP CONSTRAINT FK_yaf_UserForum_yaf_User ALTER TABLE yaf_UserForum DROP CONSTRAINT PK_yaf_UserForum ALTER TABLE yaf_UserGroup DROP CONSTRAINT FK_yaf_UserGroup_yaf_Group ALTER TABLE yaf_Group DROP CONSTRAINT PK_yaf_Group ALTER TABLE yaf_UserGroup DROP CONSTRAINT FK_yaf_UserGroup_yaf_User ALTER TABLE yaf_UserGroup DROP CONSTRAINT PK_yaf_UserGroup ALTER TABLE yaf_UserPMessage DROP CONSTRAINT FK_yaf_UserPMessage_yaf_PMessage ALTER TABLE yaf_PMessage DROP CONSTRAINT PK_yaf_PMessage ALTER TABLE yaf_UserPMessage DROP CONSTRAINT FK_yaf_UserPMessage_yaf_User ALTER TABLE yaf_UserPMessage DROP CONSTRAINT PK_yaf_UserPMessage ALTER TABLE yaf_WatchForum DROP CONSTRAINT FK_yaf_WatchForum_yaf_Forum ALTER TABLE yaf_Forum DROP CONSTRAINT PK_yaf_Forum ALTER TABLE yaf_WatchForum DROP CONSTRAINT FK_yaf_WatchForum_yaf_User ALTER TABLE yaf_WatchForum DROP CONSTRAINT IX_yaf_WatchForum ALTER TABLE yaf_WatchForum DROP CONSTRAINT PK_yaf_WatchForum ALTER TABLE yaf_WatchTopic DROP CONSTRAINT FK_yaf_WatchTopic_yaf_Topic ALTER TABLE yaf_Topic DROP CONSTRAINT PK_yaf_Topic ALTER TABLE yaf_WatchTopic DROP CONSTRAINT FK_yaf_WatchTopic_yaf_User ALTER TABLE yaf_User DROP CONSTRAINT PK_yaf_yaf_User ALTER TABLE yaf_WatchTopic DROP CONSTRAINT IX_yaf_WatchTopic ALTER TABLE yaf_WatchTopic DROP CONSTRAINT PK_yaf_WatchTopic
Then, you have to run the script that's already out there (I don't know who wrote it, but perfect job in my case! Code:/* Set your current database context to the YAF database If the source database does not equal phpbb, find and replace with the appropriate database name (dbo.[phpbb-db-name].).
notes: handle bb code? flags? Votes: need a yaf_ChoiceUser table, cookie in YAF */
-- ugly, but it converts the IP address to proper format -- functions found on internet create function hexchar( @b varchar(10) ) returns int as begin declare @n bigint set @n = 0 declare @digits char(16) set @digits = '0123456789ABCDEF' set @b = substring(@b,3,8) while len(@b) > 0 begin set @n = 16*@n + charindex(substring(@b,1,1),@digits)-1 set @b = substring(@b,2,8) end return case when @n >= 0X80000000 then @n - 0x0100000000 else @n end end go
create function convertHexIP(@h varchar(9)) returns varchar(15) as begin declare @r varchar(15) select @r =cast(dbo.hexchar('0x'+substring(@h,1,2)) as varchar) + '.'+ cast(dbo.hexchar('0x'+substring(@h,3,2)) as varchar) + '.'+ cast(dbo.hexchar('0x'+substring(@h,5,2)) as varchar) + '.'+ cast(dbo.hexchar('0x'+substring(@h,7,2)) as varchar)
return @r end go
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
--migrate the users
set identity_insert yaf_user on
INSERT INTO [dbo].[yaf_User] ([UserID], [BoardID], [Name], [Password], [Email], [Joined], [LastVisit], [IP], [NumPosts], [Location], [HomePage], [TimeZone], [Avatar], [Signature], [AvatarImage], [RankID], [Suspended], [LanguageFile], [ThemeFile], [MSN], [YIM], [AIM], [ICQ], [RealName], [Occupation], [Interests], [Gender], [Weblog], [Flags]) SELECT user_id, 1, username, user_password, user_email, dateadd(ss, user_regdate, 'dec 31 1969 18:00:00'), dateadd(ss, user_lastvisit, 'dec 31 1969 18:00:00'), null, user_posts, left(user_from,50), left(user_website,50), user_timezone * 60, user_avatar, user_sig, null, 4, -- rank, 4 = member null, null, null, left(user_msnm,50), left(user_yim,30), left(user_aim,30), null, null, user_occ, left(user_interests,100), 1, null, 4 -- 4? FROM dbo.phpbb_users where user_id > 2 -- change when pushed ?
-- TODO: flag?
set identity_insert yaf_user off ---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
set identity_insert yaf_category on INSERT INTO [dbo].[yaf_Category]([CategoryID], [BoardID], [Name], [SortOrder]) select cat_id, 1, cat_title, cat_order from dbo.phpbb_categories set identity_insert yaf_category off
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
update yaf_topic set lastMessageID = null
delete from yaf_message delete from yaf_topic delete from yaf_forumaccess delete from yaf_forum
set identity_insert yaf_Forum on
INSERT INTO [dbo].[yaf_Forum] ([ForumID], [CategoryID], [ParentID], [Name], [Description], [SortOrder], [LastPosted], [LastTopicID], [LastMessageID], [LastUserID], [LastUserName], [NumTopics], [NumPosts], [RemoteURL], [Flags]) SELECT forum_id, cat_id, null, left(forum_name,50), forum_desc, forum_order, null, null, null, null, null, forum_topics, forum_posts, null, 4 -- 4? FROM dbo.phpbb_forums
--TODO: figure out what flag column (4) is for
set identity_insert yaf_forum off
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
set identity_insert yaf_topic on
INSERT INTO [dbo].[yaf_Topic] ([TopicID], [ForumID], [UserID], [UserName], [Posted], [Topic], [Views], [Priority], [PollID], [TopicMovedID], [LastPosted], [LastMessageID], [LastUserID], [LastUserName], [NumPosts], [Flags]) SELECT topic_id, forum_id, topic_poster, null, dateadd(ss, topic_time, 'dec 31 1969 18:00:00'), topic_title, topic_views, 0, null, null, null, null, null, null, topic_replies, 0 FROM dbo.phpbb_topics
-- TODO: flags?
set identity_insert yaf_topic off
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
set identity_insert yaf_message on
INSERT INTO [dbo].[yaf_Message] ([MessageID], [TopicID], [ReplyTo], [Position], [Indent], [UserID], [UserName], [Posted], [Message], [IP], [Edited], [Flags]) SELECT a.post_Id, a.topic_id, null, 0, 0, case when a.poster_Id = -1 then 1 else a.poster_id end, null, dateadd(ss, a.post_time, 'dec 31 1969 18:00:00'), b.post_text, dbo.convertHexIP(a.poster_ip), dateadd(ss, a.post_edit_time, 'dec 31 1969 18:00:00'), 22 -- ? FROM dbo.phpbb_posts a INNER JOIN dbo.phpbb_posts_text b ON a.post_Id = b.post_Id
-- TODO: flags? -- did not migrate subject, no column found
set identity_insert yaf_message off
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
INSERT INTO [dbo].[yaf_WatchTopic]([TopicID], [UserID], [Created], [LastMail]) SELECT topic_id, user_id, getdate(), null FROM dbo.phpbb_topics_watch where notify_status = 1 --?
-- TODO: confirm notify_status value
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
set identity_insert yaf_PMessage on
INSERT INTO [dbo].[yaf_PMessage]([PMessageID], [FromUserID], [Created], [Subject], [Body], [Flags]) SELECT privmsgs_id, privmsgs_from_userid, dateadd(ss, a.privmsgs_date, 'dec 31 1969 18:00:00'), privmsgs_subject, privmsgs_text, 2147483646 --?flag FROM dbo.phpbb_privmsgs a INNER JOIN dbo.phpbb_privmsgs_text b ON a.privmsgs_id = b.privmsgs_text_id -- TODO: flags?
set identity_insert yaf_PMessage off
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
-- setting all as read, no flag found in phpbb insert into yaf_userpmessage (userid, pmessageid, isread) SELECT privmsgs_to_userid, privmsgs_id, 1 FROM dbo.phpbb_privmsgs
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
INSERT INTO [dbo].[yaf_BannedIP]([BoardID], [Mask], [Since]) SELECT 1, dbo.convertHexIP(ban_ip), getdate() FROM dbo.phpbb_banlist
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
-- TODO: Polls and votes!
-- TODO: DNN USERS?
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
-- update stats in yaf_topic table update c set c.lastposted = a.posted, c.lastmessageid = a.messageid, c.lastuserid = a.userid from yaf_topic c, yaf_message a, (select topicid, max(posted) as 'dt' from yaf_message a group by topicid) b where a.topicid = b.topicid and a.posted = b.dt and a.topicid = c.topicid and b.topicid = c.topicid
-- update stats in yaf_forum update c set c.lastposted = a.lastposted, c.lastmessageid = a.lastmessageid, c.lastuserid = a.lastuserid, c.lasttopicid = a.topicid from yaf_forum c, yaf_topic a, (select forumid, max(lastposted) as 'dt' from yaf_topic a group by forumid) b where a.forumid = b.forumid and a.lastposted = b.dt and a.forumid = c.forumid and b.forumid = c.forumid
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
------ permissions -- admins,members insert into yaf_forumaccess (GroupID, ForumID, AccessMaskID) select groupid, forumid, GroupID from yaf_group, yaf_forum where groupid in (1,3) -- guest insert into yaf_forumaccess (GroupID, ForumID, AccessMaskID) select groupid, forumid, 4 from yaf_group, yaf_forum where groupid = 2
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
drop function hexchar drop function convertHexIp
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
-- update the position column DECLARE @messageID int DECLARE @topicID int DECLARE @position int
DECLARE CRS CURSOR LOCAL FOR select MessageID, TopicID from yaf_message
OPEN CRS
FETCH NEXT FROM CRS INTO @messageID, @topicID
WHILE @@FETCH_STATUS = 0 BEGIN
SELECT @position = count(*)+1 FROM yaf_message WHERE TopicID = @topicID AND MessageID < @messageID
UPDATE yaf_message SET [position] = @position where messageid = @messageID
FETCH NEXT FROM CRS INTO @messageID, @topicID END
CLOSE CRS DEALLOCATE CRS
Then, all you have to do is set up all of the indexes, keys, constraints again, which is in the .sql file included in the YAF install: Code: /* ** Drop old Foreign keys */
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Active_Forum' AND parent_obj = Object_id('yaf_Active') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Active DROP CONSTRAINT FK_Active_Forum GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Active_Topic' AND parent_obj = Object_id('yaf_Active') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Active DROP CONSTRAINT FK_Active_Topic GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Active_User' AND parent_obj = Object_id('yaf_Active') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Active DROP CONSTRAINT FK_Active_User GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_CheckEmail_User' AND parent_obj = Object_id('yaf_CheckEmail') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_CheckEmail DROP CONSTRAINT FK_CheckEmail_User GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Choice_Poll' AND parent_obj = Object_id('yaf_Choice') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Choice DROP CONSTRAINT FK_Choice_Poll GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Forum_Category' AND parent_obj = Object_id('yaf_Forum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Forum DROP CONSTRAINT FK_Forum_Category GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Forum_Message' AND parent_obj = Object_id('yaf_Forum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Forum DROP CONSTRAINT FK_Forum_Message GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Forum_Topic' AND parent_obj = Object_id('yaf_Forum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Forum DROP CONSTRAINT FK_Forum_Topic GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Forum_User' AND parent_obj = Object_id('yaf_Forum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Forum DROP CONSTRAINT FK_Forum_User GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_ForumAccess_Forum' AND parent_obj = Object_id('yaf_ForumAccess') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_ForumAccess DROP CONSTRAINT FK_ForumAccess_Forum GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_ForumAccess_Group' AND parent_obj = Object_id('yaf_ForumAccess') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_ForumAccess DROP CONSTRAINT FK_ForumAccess_Group GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Message_Topic' AND parent_obj = Object_id('yaf_Message') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Message DROP CONSTRAINT FK_Message_Topic GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Message_User' AND parent_obj = Object_id('yaf_Message') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Message DROP CONSTRAINT FK_Message_User GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_PMessage_User1' AND parent_obj = Object_id('yaf_PMessage') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_PMessage DROP CONSTRAINT FK_PMessage_User1 GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Topic_Forum' AND parent_obj = Object_id('yaf_Topic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Topic DROP CONSTRAINT FK_Topic_Forum GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Topic_Message' AND parent_obj = Object_id('yaf_Topic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Topic DROP CONSTRAINT FK_Topic_Message GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Topic_Poll' AND parent_obj = Object_id('yaf_Topic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Topic DROP CONSTRAINT FK_Topic_Poll GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Topic_Topic' AND parent_obj = Object_id('yaf_Topic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Topic DROP CONSTRAINT FK_Topic_Topic GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Topic_User' AND parent_obj = Object_id('yaf_Topic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Topic DROP CONSTRAINT FK_Topic_User GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Topic_User2' AND parent_obj = Object_id('yaf_Topic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Topic DROP CONSTRAINT FK_Topic_User2 GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_WatchForum_Forum' AND parent_obj = Object_id('yaf_WatchForum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_WatchForum DROP CONSTRAINT FK_WatchForum_Forum GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_WatchForum_User' AND parent_obj = Object_id('yaf_WatchForum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_WatchForum DROP CONSTRAINT FK_WatchForum_User GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_WatchTopic_Topic' AND parent_obj = Object_id('yaf_WatchTopic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_WatchTopic DROP CONSTRAINT FK_WatchTopic_Topic GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_WatchTopic_User' AND parent_obj = Object_id('yaf_WatchTopic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_WatchTopic DROP CONSTRAINT FK_WatchTopic_User GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Active_Forum' AND parent_obj = Object_id('yaf_Active') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Attachment DROP CONSTRAINT FK_Attachment_Message GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_UserGroup_User' AND parent_obj = Object_id('yaf_UserGroup') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_UserGroup DROP CONSTRAINT FK_UserGroup_User GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_UserGroup_Group' AND parent_obj = Object_id('yaf_UserGroup') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_UserGroup DROP CONSTRAINT FK_UserGroup_Group GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Attachment_Message' AND parent_obj = Object_id('yaf_Attachment') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Attachment DROP CONSTRAINT FK_Attachment_Message GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_NntpForum_NntpServer' AND parent_obj = Object_id('yaf_NntpForum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_NntpForum DROP CONSTRAINT FK_NntpForum_NntpServer GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_NntpForum_Forum' AND parent_obj = Object_id('yaf_NntpForum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_NntpForum DROP CONSTRAINT FK_NntpForum_Forum GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_NntpTopic_NntpForum' AND parent_obj = Object_id('yaf_NntpTopic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_NntpTopic DROP CONSTRAINT FK_NntpTopic_NntpForum GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_NntpTopic_Topic' AND parent_obj = Object_id('yaf_NntpTopic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_NntpTopic DROP CONSTRAINT FK_NntpTopic_Topic GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_ForumAccess_AccessMask' AND parent_obj = Object_id('yaf_ForumAccess') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_ForumAccess DROP CONSTRAINT FK_ForumAccess_AccessMask GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_UserForum_User' AND parent_obj = Object_id('yaf_UserForum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_UserForum DROP CONSTRAINT FK_UserForum_User GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_UserForum_Forum' AND parent_obj = Object_id('yaf_UserForum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_UserForum DROP CONSTRAINT FK_UserForum_Forum GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_UserForum_AccessMask' AND parent_obj = Object_id('yaf_UserForum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_UserForum DROP CONSTRAINT FK_UserForum_AccessMask GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Category_Board' AND parent_obj = Object_id('yaf_Category') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Category DROP CONSTRAINT FK_Category_Board GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_AccessMask_Board' AND parent_obj = Object_id('yaf_AccessMask') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_AccessMask DROP CONSTRAINT FK_AccessMask_Board GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Active_Board' AND parent_obj = Object_id('yaf_Active') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Active DROP CONSTRAINT FK_Active_Board GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_BannedIP_Board' AND parent_obj = Object_id('yaf_BannedIP') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_BannedIP DROP CONSTRAINT FK_BannedIP_Board GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Group_Board' AND parent_obj = Object_id('yaf_Group') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Group DROP CONSTRAINT FK_Group_Board GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_NntpServer_Board' AND parent_obj = Object_id('yaf_NntpServer') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_NntpServer DROP CONSTRAINT FK_NntpServer_Board GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Rank_Board' AND parent_obj = Object_id('yaf_Rank') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Rank DROP CONSTRAINT FK_Rank_Board GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Smiley_Board' AND parent_obj = Object_id('yaf_Smiley') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Smiley DROP CONSTRAINT FK_Smiley_Board GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_User_Rank' AND parent_obj = Object_id('yaf_User') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_User DROP CONSTRAINT FK_User_Rank GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_User_Board' AND parent_obj = Object_id('yaf_User') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_User DROP CONSTRAINT FK_User_Board GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Forum_Forum' AND parent_obj = Object_id('yaf_Forum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Forum DROP CONSTRAINT FK_Forum_Forum GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Message_Message' AND parent_obj = Object_id('yaf_Message') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Message DROP CONSTRAINT FK_Message_Message GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_UserPMessage_User' AND parent_obj = Object_id('yaf_UserPMessage') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_UserPMessage DROP CONSTRAINT FK_UserPMessage_User GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_UserPMessage_PMessage' AND parent_obj = Object_id('yaf_UserPMessage') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_UserPMessage DROP CONSTRAINT FK_UserPMessage_PMessage GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_Registry_Board' AND parent_obj = Object_id('yaf_Registry') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Registry DROP CONSTRAINT FK_Registry_Board GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_EventLog_User' AND parent_obj = Object_id('yaf_EventLog') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_EventLog DROP CONSTRAINT FK_EventLog_User GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_PollVote_yaf_Poll' AND parent_obj = Object_id('yaf_PollVote') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_PollVote DROP CONSTRAINT FK_yaf_PollVote_yaf_Poll GO
/* Drop old primary keys */ IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_BannedIP') AND name = 'PK_BannedIP') ALTER TABLE dbo.yaf_BannedIP DROP CONSTRAINT PK_BannedIP GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Category') AND name = 'PK_Category') ALTER TABLE dbo.yaf_Category DROP CONSTRAINT PK_Category GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_CheckEmail') AND name = 'PK_CheckEmail') ALTER TABLE dbo.yaf_CheckEmail DROP CONSTRAINT PK_CheckEmail GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Choice') AND name = 'PK_Choice') ALTER TABLE dbo.yaf_Choice DROP CONSTRAINT PK_Choice GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Forum') AND name = 'PK_Forum') ALTER TABLE dbo.yaf_Forum DROP CONSTRAINT PK_Forum GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_ForumAccess') AND name = 'PK_ForumAccess') ALTER TABLE dbo.yaf_ForumAccess DROP CONSTRAINT PK_ForumAccess GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Group') AND name = 'PK_Group') ALTER TABLE dbo.yaf_Group DROP CONSTRAINT PK_Group GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Mail') AND name = 'PK_Mail') ALTER TABLE dbo.yaf_Mail DROP CONSTRAINT PK_Mail GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Message') AND name = 'PK_Message') ALTER TABLE dbo.yaf_Message DROP CONSTRAINT PK_Message GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_PMessage') AND name = 'PK_PMessage') ALTER TABLE dbo.yaf_PMessage DROP CONSTRAINT PK_PMessage GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Poll') AND name = 'PK_Poll') ALTER TABLE dbo.yaf_Poll DROP CONSTRAINT PK_Poll GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Smiley') AND name = 'PK_Smiley') ALTER TABLE dbo.yaf_Smiley DROP CONSTRAINT PK_Smiley GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Topic') AND name = 'PK_Topic') ALTER TABLE dbo.yaf_Topic DROP CONSTRAINT PK_Topic GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_User') AND name = 'PK_User') ALTER TABLE dbo.yaf_User DROP CONSTRAINT PK_User GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_WatchForum') AND name = 'PK_WatchForum') ALTER TABLE dbo.yaf_WatchForum DROP CONSTRAINT PK_WatchForum GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_WatchTopic') AND name = 'PK_WatchTopic') ALTER TABLE dbo.yaf_WatchTopic DROP CONSTRAINT PK_WatchTopic GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_UserGroup') AND name = 'PK_UserGroup') ALTER TABLE dbo.yaf_UserGroup DROP CONSTRAINT PK_UserGroup GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Rank') AND name = 'PK_Rank') ALTER TABLE dbo.yaf_Rank DROP CONSTRAINT PK_Rank GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_NntpServer') AND name = 'PK_NntpServer') ALTER TABLE dbo.yaf_NntpServer DROP CONSTRAINT PK_NntpServer GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_NntpForum') AND name = 'PK_NntpForum') ALTER TABLE dbo.yaf_NntpForum DROP CONSTRAINT PK_NntpForum GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_NntpTopic') AND name = 'PK_NntpTopic') ALTER TABLE dbo.yaf_NntpTopic DROP CONSTRAINT PK_NntpTopic GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_AccessMask') AND name = 'PK_AccessMask') ALTER TABLE dbo.yaf_AccessMask DROP CONSTRAINT PK_AccessMask GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_UserForum') AND name = 'PK_UserForum') ALTER TABLE dbo.yaf_UserForum DROP CONSTRAINT PK_UserForum GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Board') AND name = 'PK_Board') ALTER TABLE dbo.yaf_Board DROP CONSTRAINT PK_Board GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Active') AND name = 'PK_Active') ALTER TABLE dbo.yaf_Active DROP CONSTRAINT PK_Active GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_UserPMessage') AND name = 'PK_UserPMessage') ALTER TABLE dbo.yaf_UserPMessage DROP CONSTRAINT PK_UserPMessage GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Attachment') AND name = 'PK_Attachment') ALTER TABLE dbo.yaf_Attachment DROP CONSTRAINT PK_Attachment GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Active') AND name = 'PK_Active') ALTER TABLE dbo.yaf_Active DROP CONSTRAINT PK_Active GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_PollVote') AND name = 'PK_PollVote') ALTER TABLE dbo.yaf_PollVote DROP CONSTRAINT PK_PollVote GO
/* ** Unique constraints */ IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_CheckEmail') AND name = 'IX_CheckEmail') ALTER TABLE dbo.yaf_CheckEmail DROP CONSTRAINT IX_CheckEmail GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Forum') AND name = 'IX_Forum') ALTER TABLE dbo.yaf_Forum DROP CONSTRAINT IX_Forum GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_WatchForum') AND name = 'IX_WatchForum') ALTER TABLE dbo.yaf_WatchForum DROP CONSTRAINT IX_WatchForum GO
IF EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_WatchTopic') AND name = 'IX_WatchTopic') ALTER TABLE dbo.yaf_WatchTopic DROP CONSTRAINT IX_WatchTopic GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Category') AND name = 'IX_Category') ALTER TABLE dbo.yaf_Category DROP CONSTRAINT IX_Category GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Rank') AND name = 'IX_Rank') ALTER TABLE dbo.yaf_Rank DROP CONSTRAINT IX_Rank GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_User') AND name = 'IX_User') ALTER TABLE dbo.yaf_User DROP CONSTRAINT IX_User GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Group') AND name = 'IX_Group') ALTER TABLE dbo.yaf_Group DROP CONSTRAINT IX_Group GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_BannedIP') AND name = 'IX_BannedIP') ALTER TABLE dbo.yaf_BannedIP DROP CONSTRAINT IX_BannedIP GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Smiley') AND name = 'IX_Smiley') ALTER TABLE dbo.yaf_Smiley DROP CONSTRAINT IX_Smiley GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_BannedIP') AND name = 'IX_BannedIP') ALTER TABLE dbo.yaf_BannedIP DROP CONSTRAINT IX_BannedIP GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Category') AND name = 'IX_Category') ALTER TABLE dbo.yaf_Category DROP CONSTRAINT IX_Category GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_CheckEmail') AND name = 'IX_CheckEmail') ALTER TABLE dbo.yaf_CheckEmail DROP CONSTRAINT IX_CheckEmail GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Forum') AND name = 'IX_Forum') ALTER TABLE dbo.yaf_Forum DROP CONSTRAINT IX_Forum GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Group') AND name = 'IX_Group') ALTER TABLE dbo.yaf_Group DROP CONSTRAINT IX_Group GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Rank') AND name = 'IX_Rank') ALTER TABLE dbo.yaf_Rank DROP CONSTRAINT IX_Rank GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Smiley') AND name = 'IX_Smiley') ALTER TABLE dbo.yaf_Smiley DROP CONSTRAINT IX_Smiley GO
IF EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_User') AND name = 'IX_User') ALTER TABLE dbo.yaf_User DROP CONSTRAINT IX_User GO
/* Build new constraints */
/* ** Primary keys */ IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_BannedIP') AND name = 'PK_yaf_BannedIP') ALTER TABLE dbo.yaf_BannedIP WITH NOCHECK ADD CONSTRAINT PK_yaf_BannedIP PRIMARY KEY CLUSTERED( ID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Category') AND name = 'PK_yaf_Category') ALTER TABLE dbo.yaf_Category WITH NOCHECK ADD CONSTRAINT PK_yaf_Category PRIMARY KEY CLUSTERED( CategoryID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_CheckEmail') AND name = 'PK_yaf_CheckEmail') ALTER TABLE dbo.yaf_CheckEmail WITH NOCHECK ADD CONSTRAINT PK_yaf_CheckEmail PRIMARY KEY CLUSTERED( CheckEmailID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Choice') AND name = 'PK_yaf_Choice') ALTER TABLE dbo.yaf_Choice WITH NOCHECK ADD CONSTRAINT PK_yaf_Choice PRIMARY KEY CLUSTERED( ChoiceID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Forum') AND name = 'PK_yaf_Forum') ALTER TABLE dbo.yaf_Forum WITH NOCHECK ADD CONSTRAINT PK_yaf_Forum PRIMARY KEY CLUSTERED( ForumID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_ForumAccess') AND name = 'PK_yaf_ForumAccess') ALTER TABLE dbo.yaf_ForumAccess WITH NOCHECK ADD CONSTRAINT PK_yaf_ForumAccess PRIMARY KEY CLUSTERED( GroupID , ForumID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Group') AND name = 'PK_yaf_Group') ALTER TABLE dbo.yaf_Group WITH NOCHECK ADD CONSTRAINT PK_yaf_Group PRIMARY KEY CLUSTERED( GroupID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Mail') AND name = 'PK_yaf_Mail') ALTER TABLE dbo.yaf_Mail WITH NOCHECK ADD CONSTRAINT PK_yaf_Mail PRIMARY KEY CLUSTERED( MailID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Message') AND name = 'PK_yaf_Message') ALTER TABLE dbo.yaf_Message WITH NOCHECK ADD CONSTRAINT PK_yaf_Message PRIMARY KEY CLUSTERED( MessageID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_PMessage') AND name = 'PK_yaf_PMessage') ALTER TABLE dbo.yaf_PMessage WITH NOCHECK ADD CONSTRAINT PK_yaf_PMessage PRIMARY KEY CLUSTERED( PMessageID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Poll') AND name = 'PK_yaf_Poll') ALTER TABLE dbo.yaf_Poll WITH NOCHECK ADD CONSTRAINT PK_yaf_Poll PRIMARY KEY CLUSTERED( PollID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Smiley') AND name = 'PK_yaf_Smiley') ALTER TABLE dbo.yaf_Smiley WITH NOCHECK ADD CONSTRAINT PK_yaf_Smiley PRIMARY KEY CLUSTERED( SmileyID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Topic') AND name = 'PK_yaf_Topic') ALTER TABLE dbo.yaf_Topic WITH NOCHECK ADD CONSTRAINT PK_yaf_Topic PRIMARY KEY CLUSTERED( TopicID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_User') AND name = 'PK_yaf_yaf_User') ALTER TABLE dbo.yaf_User WITH NOCHECK ADD CONSTRAINT PK_yaf_yaf_User PRIMARY KEY CLUSTERED( UserID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_WatchForum') AND name = 'PK_yaf_WatchForum') ALTER TABLE dbo.yaf_WatchForum WITH NOCHECK ADD CONSTRAINT PK_yaf_WatchForum PRIMARY KEY CLUSTERED( WatchForumID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_WatchTopic') AND name = 'PK_yaf_WatchTopic') ALTER TABLE dbo.yaf_WatchTopic WITH NOCHECK ADD CONSTRAINT PK_yaf_WatchTopic PRIMARY KEY CLUSTERED( WatchTopicID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_UserGroup') AND name = 'PK_yaf_UserGroup') ALTER TABLE dbo.yaf_UserGroup WITH NOCHECK ADD CONSTRAINT PK_yaf_UserGroup PRIMARY KEY CLUSTERED( UserID , GroupID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Rank') AND name = 'PK_yaf_Rank') ALTER TABLE dbo.yaf_Rank WITH NOCHECK ADD CONSTRAINT PK_yaf_Rank PRIMARY KEY CLUSTERED( RankID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_NntpServer') AND name = 'PK_yaf_NntpServer') ALTER TABLE dbo.yaf_NntpServer WITH NOCHECK ADD CONSTRAINT PK_yaf_NntpServer PRIMARY KEY CLUSTERED( NntpServerID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_NntpForum') AND name = 'PK_yaf_NntpForum') ALTER TABLE dbo.yaf_NntpForum WITH NOCHECK ADD CONSTRAINT PK_yaf_NntpForum PRIMARY KEY CLUSTERED( NntpForumID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_NntpTopic') AND name = 'PK_yaf_NntpTopic') ALTER TABLE dbo.yaf_NntpTopic WITH NOCHECK ADD CONSTRAINT PK_yaf_NntpTopic PRIMARY KEY CLUSTERED( NntpTopicID ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_AccessMask') AND name = 'PK_yaf_AccessMask') ALTER TABLE dbo.yaf_AccessMask WITH NOCHECK ADD CONSTRAINT PK_yaf_AccessMask PRIMARY KEY CLUSTERED( AccessMaskID ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_UserForum') AND name = 'PK_yaf_UserForum') ALTER TABLE dbo.yaf_UserForum WITH NOCHECK ADD CONSTRAINT PK_yaf_UserForum PRIMARY KEY CLUSTERED( UserID , ForumID ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Board') AND name = 'PK_yaf_Board') ALTER TABLE dbo.yaf_Board WITH NOCHECK ADD CONSTRAINT PK_yaf_Board PRIMARY KEY CLUSTERED( BoardID ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Active') AND name = 'PK_yaf_Active') ALTER TABLE dbo.yaf_Active WITH NOCHECK ADD CONSTRAINT PK_yaf_Active PRIMARY KEY CLUSTERED( SessionID , BoardID ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_UserPMessage') AND name = 'PK_yaf_UserPMessage') ALTER TABLE dbo.yaf_UserPMessage WITH NOCHECK ADD CONSTRAINT PK_yaf_UserPMessage PRIMARY KEY CLUSTERED( UserPMessageID ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Attachment') AND name = 'PK_yaf_Attachment') ALTER TABLE dbo.yaf_Attachment WITH NOCHECK ADD CONSTRAINT PK_yaf_Attachment PRIMARY KEY CLUSTERED( AttachmentID ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Active') AND name = 'PK_yaf_Active') ALTER TABLE dbo.yaf_Active WITH NOCHECK ADD CONSTRAINT PK_yaf_Active PRIMARY KEY CLUSTERED( SessionID , BoardID ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_PollVote') AND name = 'PK_yaf_PollVote') ALTER TABLE dbo.yaf_PollVote WITH NOCHECK ADD CONSTRAINT PK_yaf_PollVote PRIMARY KEY CLUSTERED( PollVoteID ) GO
/* ** Unique constraints */ IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_CheckEmail') AND name = 'IX_yaf_CheckEmail') /* ** Unique constraints */ IF NOT EXISTS ( SELECT 1 FROM sysindexes WHERE id = Object_id ( 'yaf_CheckEmail' ) AND name = 'IX_yaf_CheckEmail' ) ALTER TABLE dbo.yaf_CheckEmail ADD CONSTRAINT IX_yaf_CheckEmail UNIQUE NONCLUSTERED ( HASH ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_Forum') AND name = 'IX_yaf_Forum') ALTER TABLE dbo.yaf_Forum ADD CONSTRAINT IX_yaf_Forum UNIQUE NONCLUSTERED( CategoryID , Name ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_WatchForum') AND name = 'IX_yaf_WatchForum') ALTER TABLE dbo.yaf_WatchForum ADD CONSTRAINT IX_yaf_WatchForum UNIQUE NONCLUSTERED( ForumID , UserID ) GO
IF NOT EXISTS (SELECT 1 FROM sysindexes WHERE id = Object_id('yaf_WatchTopic') AND name = 'IX_yaf_WatchTopic') ALTER TABLE dbo.yaf_WatchTopic ADD CONSTRAINT IX_yaf_WatchTopic UNIQUE NONCLUSTERED( TopicID , UserID ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Category') AND name = 'IX_yaf_Category') ALTER TABLE dbo.yaf_Category ADD CONSTRAINT IX_yaf_Category UNIQUE NONCLUSTERED( BoardID , Name ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Rank') AND name = 'IX_yaf_Rank') ALTER TABLE dbo.yaf_Rank ADD CONSTRAINT IX_yaf_Rank UNIQUE( BoardID , Name ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_User') AND name = 'IX_yaf_User') ALTER TABLE dbo.yaf_User ADD CONSTRAINT IX_yaf_User UNIQUE NONCLUSTERED( BoardID , Name ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Group') AND name = 'IX_yaf_Group') ALTER TABLE dbo.yaf_Group ADD CONSTRAINT IX_yaf_Group UNIQUE NONCLUSTERED( BoardID , Name ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_BannedIP') AND name = 'IX_yaf_BannedIP') ALTER TABLE dbo.yaf_BannedIP ADD CONSTRAINT IX_yaf_BannedIP UNIQUE NONCLUSTERED( BoardID , Mask ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Smiley') AND name = 'IX_yaf_Smiley') ALTER TABLE dbo.yaf_Smiley ADD CONSTRAINT IX_yaf_Smiley UNIQUE NONCLUSTERED( BoardID , Code ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_BannedIP') AND name = 'IX_yaf_BannedIP') ALTER TABLE dbo.yaf_BannedIP ADD CONSTRAINT IX_yaf_BannedIP UNIQUE NONCLUSTERED( BoardID , Mask ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Category') AND name = 'IX_yaf_Category') ALTER TABLE dbo.yaf_Category ADD CONSTRAINT IX_yaf_Category UNIQUE NONCLUSTERED( BoardID , Name ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_CheckEmail') AND name = 'IX_yaf_CheckEmail') IF NOT EXISTS ( SELECT * FROM sysindexes WHERE id = Object_id ( 'yaf_CheckEmail' ) AND name = 'IX_yaf_CheckEmail' ) ALTER TABLE dbo.yaf_CheckEmail ADD CONSTRAINT IX_yaf_CheckEmail UNIQUE NONCLUSTERED ( HASH ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Forum') AND name = 'IX_yaf_Forum') ALTER TABLE dbo.yaf_Forum ADD CONSTRAINT IX_yaf_Forum UNIQUE NONCLUSTERED( CategoryID , Name ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Group') AND name = 'IX_yaf_Group') ALTER TABLE dbo.yaf_Group ADD CONSTRAINT IX_yaf_Group UNIQUE NONCLUSTERED( BoardID , Name ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Rank') AND name = 'IX_yaf_Rank') ALTER TABLE dbo.yaf_Rank ADD CONSTRAINT IX_yaf_Rank UNIQUE NONCLUSTERED( BoardID , Name ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_Smiley') AND name = 'IX_yaf_Smiley') ALTER TABLE dbo.yaf_Smiley ADD CONSTRAINT IX_yaf_Smiley UNIQUE NONCLUSTERED( BoardID , Code ) GO
IF NOT EXISTS (SELECT * FROM sysindexes WHERE id = Object_id('yaf_User') AND name = 'IX_yaf_User') ALTER TABLE dbo.yaf_User ADD CONSTRAINT IX_yaf_User UNIQUE NONCLUSTERED( BoardID , Name ) GO
/* ** Foreign keys */ IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Active_yaf_Forum' AND parent_obj = Object_id('yaf_Active') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Active ADD CONSTRAINT FK_yaf_Active_yaf_Forum FOREIGN KEY( ForumID ) REFERENCES dbo.yaf_Forum( ForumID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Active_yaf_Topic' AND parent_obj = Object_id('yaf_Active') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Active ADD CONSTRAINT FK_yaf_Active_yaf_Topic FOREIGN KEY( TopicID ) REFERENCES dbo.yaf_Topic( TopicID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Active_yaf_User' AND parent_obj = Object_id('yaf_Active') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Active ADD CONSTRAINT FK_yaf_Active_yaf_User FOREIGN KEY( UserID ) REFERENCES dbo.yaf_User( UserID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_CheckEmail_yaf_User' AND parent_obj = Object_id('yaf_CheckEmail') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_CheckEmail ADD CONSTRAINT FK_yaf_CheckEmail_yaf_User FOREIGN KEY( UserID ) REFERENCES dbo.yaf_User( UserID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Choice_yaf_Poll' AND parent_obj = Object_id('yaf_Choice') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Choice ADD CONSTRAINT FK_yaf_Choice_yaf_Poll FOREIGN KEY( PollID ) REFERENCES dbo.yaf_Poll( PollID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Forum_yaf_Category' AND parent_obj = Object_id('yaf_Forum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Forum ADD CONSTRAINT FK_yaf_Forum_yaf_Category FOREIGN KEY( CategoryID ) REFERENCES dbo.yaf_Category( CategoryID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Forum_yaf_Message' AND parent_obj = Object_id('yaf_Forum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Forum ADD CONSTRAINT FK_yaf_Forum_yaf_Message FOREIGN KEY( LastMessageID ) REFERENCES dbo.yaf_Message( MessageID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Forum_yaf_Topic' AND parent_obj = Object_id('yaf_Forum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Forum ADD CONSTRAINT FK_yaf_Forum_yaf_Topic FOREIGN KEY( LastTopicID ) REFERENCES dbo.yaf_Topic( TopicID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Forum_yaf_User' AND parent_obj = Object_id('yaf_Forum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Forum ADD CONSTRAINT FK_yaf_Forum_yaf_User FOREIGN KEY( LastUserID ) REFERENCES dbo.yaf_User( UserID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_ForumAccess_yaf_Forum' AND parent_obj = Object_id('yaf_ForumAccess') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_ForumAccess ADD CONSTRAINT FK_yaf_ForumAccess_yaf_Forum FOREIGN KEY( ForumID ) REFERENCES dbo.yaf_Forum( ForumID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_ForumAccess_yaf_Group' AND parent_obj = Object_id('yaf_ForumAccess') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_ForumAccess ADD CONSTRAINT FK_yaf_ForumAccess_yaf_Group FOREIGN KEY( GroupID ) REFERENCES dbo.yaf_Group( GroupID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Message_yaf_Topic' AND parent_obj = Object_id('yaf_Message') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Message ADD CONSTRAINT FK_yaf_Message_yaf_Topic FOREIGN KEY( TopicID ) REFERENCES dbo.yaf_Topic( TopicID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Message_yaf_User' AND parent_obj = Object_id('yaf_Message') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Message ADD CONSTRAINT FK_yaf_Message_yaf_User FOREIGN KEY( UserID ) REFERENCES dbo.yaf_User( UserID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_PMessage_yaf_User1' AND parent_obj = Object_id('yaf_PMessage') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_PMessage ADD CONSTRAINT FK_yaf_PMessage_yaf_User1 FOREIGN KEY( FromUserID ) REFERENCES dbo.yaf_User( UserID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Topic_yaf_Forum' AND parent_obj = Object_id('yaf_Topic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Topic ADD CONSTRAINT FK_yaf_Topic_yaf_Forum FOREIGN KEY( ForumID ) REFERENCES dbo.yaf_Forum( ForumID ) ON DELETE CASCADE GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Topic_yaf_Message' AND parent_obj = Object_id('yaf_Topic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Topic ADD CONSTRAINT FK_yaf_Topic_yaf_Message FOREIGN KEY( LastMessageID ) REFERENCES dbo.yaf_Message( MessageID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Topic_yaf_Poll' AND parent_obj = Object_id('yaf_Topic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Topic ADD CONSTRAINT FK_yaf_Topic_yaf_Poll FOREIGN KEY( PollID ) REFERENCES dbo.yaf_Poll( PollID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Topic_yaf_Topic' AND parent_obj = Object_id('yaf_Topic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Topic ADD CONSTRAINT FK_yaf_Topic_yaf_Topic FOREIGN KEY( TopicMovedID ) REFERENCES dbo.yaf_Topic( TopicID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Topic_yaf_User' AND parent_obj = Object_id('yaf_Topic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Topic ADD CONSTRAINT FK_yaf_Topic_yaf_User FOREIGN KEY( UserID ) REFERENCES dbo.yaf_User( UserID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Topic_yaf_User2' AND parent_obj = Object_id('yaf_Topic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Topic ADD CONSTRAINT FK_yaf_Topic_yaf_User2 FOREIGN KEY( LastUserID ) REFERENCES dbo.yaf_User( UserID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_WatchForum_yaf_Forum' AND parent_obj = Object_id('yaf_WatchForum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_WatchForum ADD CONSTRAINT FK_yaf_WatchForum_yaf_Forum FOREIGN KEY( ForumID ) REFERENCES dbo.yaf_Forum( ForumID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_WatchForum_yaf_User' AND parent_obj = Object_id('yaf_WatchForum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_WatchForum ADD CONSTRAINT FK_yaf_WatchForum_yaf_User FOREIGN KEY( UserID ) REFERENCES dbo.yaf_User( UserID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_WatchTopic_yaf_Topic' AND parent_obj = Object_id('yaf_WatchTopic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_WatchTopic ADD CONSTRAINT FK_yaf_WatchTopic_yaf_Topic FOREIGN KEY( TopicID ) REFERENCES dbo.yaf_Topic( TopicID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_WatchTopic_yaf_User' AND parent_obj = Object_id('yaf_WatchTopic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_WatchTopic ADD CONSTRAINT FK_yaf_WatchTopic_yaf_User FOREIGN KEY( UserID ) REFERENCES dbo.yaf_User( UserID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Active_yaf_Forum' AND parent_obj = Object_id('yaf_Active') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Attachment ADD CONSTRAINT FK_yaf_Active_yaf_Forum FOREIGN KEY( MessageID ) REFERENCES yaf_Message( MessageID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_UserGroup_yaf_User' AND parent_obj = Object_id('yaf_UserGroup') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_UserGroup ADD CONSTRAINT FK_yaf_UserGroup_yaf_User FOREIGN KEY( UserID ) REFERENCES yaf_User( UserID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_UserGroup_yaf_Group' AND parent_obj = Object_id('yaf_UserGroup') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_UserGroup ADD CONSTRAINT FK_yaf_UserGroup_yaf_Group FOREIGN KEY( GroupID ) REFERENCES yaf_Group( GroupID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Attachment_yaf_Message' AND parent_obj = Object_id('yaf_Attachment') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Attachment ADD CONSTRAINT FK_yaf_Attachment_yaf_Message FOREIGN KEY( MessageID ) REFERENCES yaf_Message( MessageID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_NntpForum_yaf_NntpServer' AND parent_obj = Object_id('yaf_NntpForum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_NntpForum ADD CONSTRAINT FK_yaf_NntpForum_yaf_NntpServer FOREIGN KEY( NntpServerID ) REFERENCES yaf_NntpServer( NntpServerID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_NntpForum_yaf_Forum' AND parent_obj = Object_id('yaf_NntpForum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_NntpForum ADD CONSTRAINT FK_yaf_NntpForum_yaf_Forum FOREIGN KEY( ForumID ) REFERENCES yaf_Forum( ForumID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_NntpTopic_yaf_NntpForum' AND parent_obj = Object_id('yaf_NntpTopic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_NntpTopic ADD CONSTRAINT FK_yaf_NntpTopic_yaf_NntpForum FOREIGN KEY( NntpForumID ) REFERENCES yaf_NntpForum( NntpForumID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_NntpTopic_yaf_Topic' AND parent_obj = Object_id('yaf_NntpTopic') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_NntpTopic ADD CONSTRAINT FK_yaf_NntpTopic_yaf_Topic FOREIGN KEY( TopicID ) REFERENCES yaf_Topic( TopicID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_ForumAccess_yaf_AccessMask' AND parent_obj = Object_id('yaf_ForumAccess') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_ForumAccess ADD CONSTRAINT FK_yaf_ForumAccess_yaf_AccessMask FOREIGN KEY( AccessMaskID ) REFERENCES yaf_AccessMask( AccessMaskID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_UserForum_yaf_User' AND parent_obj = Object_id('yaf_UserForum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_UserForum ADD CONSTRAINT FK_yaf_UserForum_yaf_User FOREIGN KEY( UserID ) REFERENCES yaf_User( UserID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_UserForum_yaf_Forum' AND parent_obj = Object_id('yaf_UserForum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_UserForum ADD CONSTRAINT FK_yaf_UserForum_yaf_Forum FOREIGN KEY( ForumID ) REFERENCES yaf_Forum( ForumID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_UserForum_yaf_AccessMask' AND parent_obj = Object_id('yaf_UserForum') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_UserForum ADD CONSTRAINT FK_yaf_UserForum_yaf_AccessMask FOREIGN KEY( AccessMaskID ) REFERENCES yaf_AccessMask( AccessMaskID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Category_yaf_Board' AND parent_obj = Object_id('yaf_Category') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Category ADD CONSTRAINT FK_yaf_Category_yaf_Board FOREIGN KEY( BoardID ) REFERENCES yaf_Board( BoardID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_AccessMask_yaf_Board' AND parent_obj = Object_id('yaf_AccessMask') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_AccessMask ADD CONSTRAINT FK_yaf_AccessMask_yaf_Board FOREIGN KEY( BoardID ) REFERENCES yaf_Board( BoardID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Active_yaf_Board' AND parent_obj = Object_id('yaf_Active') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Active ADD CONSTRAINT FK_yaf_Active_yaf_Board FOREIGN KEY( BoardID ) REFERENCES yaf_Board( BoardID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_BannedIP_yaf_Board' AND parent_obj = Object_id('yaf_BannedIP') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_BannedIP ADD CONSTRAINT FK_yaf_BannedIP_yaf_Board FOREIGN KEY( BoardID ) REFERENCES yaf_Board( BoardID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Group_yaf_Board' AND parent_obj = Object_id('yaf_Group') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Group ADD CONSTRAINT FK_yaf_Group_yaf_Board FOREIGN KEY( BoardID ) REFERENCES yaf_Board( BoardID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_NntpServer_yaf_Board' AND parent_obj = Object_id('yaf_NntpServer') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_NntpServer ADD CONSTRAINT FK_yaf_NntpServer_yaf_Board FOREIGN KEY( BoardID ) REFERENCES yaf_Board( BoardID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Rank_yaf_Board' AND parent_obj = Object_id('yaf_Rank') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Rank ADD CONSTRAINT FK_yaf_Rank_yaf_Board FOREIGN KEY( BoardID ) REFERENCES yaf_Board( BoardID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Smiley_yaf_Board' AND parent_obj = Object_id('yaf_Smiley') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_Smiley ADD CONSTRAINT FK_yaf_Smiley_yaf_Board FOREIGN KEY( BoardID ) REFERENCES yaf_Board( BoardID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_User_yaf_Rank' AND parent_obj = Object_id('yaf_User') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_User ADD CONSTRAINT FK_yaf_User_yaf_Rank FOREIGN KEY( RankID ) REFERENCES yaf_Rank( RankID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_User_yaf_Board' AND parent_obj = Object_id('yaf_User') AND Objectproperty(id,N'IsForeignKey') = 1) ALTER TABLE dbo.yaf_User ADD CONSTRAINT FK_yaf_User_yaf_Board FOREIGN KEY( BoardID ) REFERENCES yaf_Board( BoardID ) GO
IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'FK_yaf_Forum_yaf_
|