2014-03-12 3 views
0

mmh..2001, yahoo 2002 년 이후 yaf를 사용 해왔다. 및 우리 포럼의 버전 1.7 250 만명 이상의 사용자가 등록 된 많은 데이터를 만들었습니다 ...YetAnotherForum 업그레이드 SQL 문제

나는 실제 DB 복사본을 만들었으며이 설치를 다음으로 업그레이드하려고합니다. 업그레이드 할 때 버전 2.1.1, 하지만 난 MSSQL/tables.sql 파일에서 해당 SQL 오류를 얻을 :

http://i57.tinypic.com/2wgx56o.jpg][1 http://i57.tinypic.com/2wgx56o.jpg

FILE: mssql/tables.sql

ERROR: The index '_dta_index_yaf_Message_9_757577737__K2_K1_K12_K6_4_5_7_8_10_11' is dependent on column 'IP'. ALTER TABLE ALTER COLUMN IP failed because one or more objects access this column.

STATEMENT: if exists (select top 1 1 from sys.columns where object_id=object_id('[dbo].[yaf_Message]'Wink and name='IP' and precision < 39) begin alter table [dbo].[yaf_Message] alter column [IP] varchar(39) not null end

YAF.Classes.Data.LegacyDb.system_initialize_executescripts(String script, String scriptFile, Boolean useTransactions) +1540 YAF.Core.Services.InstallUpgradeService.ExecuteScript(String scriptFile, Boolean useTransactions) +188 YAF.Core.Services.InstallUpgradeService.UpgradeDatabase(Boolean fullText, Boolean upgradeExtensions) +205 YAF.Install._default.Wizard_NextButtonClick(Object sender, WizardNavigationEventArgs e) +1559 System.Web.UI.WebControls.Wizard.OnBubbleEvent(Object source, EventArgs e) +584 System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +84 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3804

내가 어떤 테이블의 필드를 수정해야합니까? 내가 가지고있는 다른 솔루션은 수동으로 모든 단일 사용자, 포럼 등을 가져 오는 것입니다 ...하지만 꽤 시간이 걸릴 것입니다 .. 그래서 나는 정말로 DB를 자동으로 설치 업그레이드를 기다리고 있습니다

답변

0

이론에서는 다음을 수행하십시오. 나는 그것을 시도 할 것이다

Backup DB (again) 
Script the index to a new window. 
Drop the index. 
Apply the udpate. 
Check the data does not have nulls and fix if required. 
Recreate the index. 
+0

, 그것은 우리가 더 이상 2.5M 사용자 – Shide

+0

덕분에, 그것은 actualy했다하지만 난 지금 또 다른 오류가있어이 있기 때문에 시간이 좀 걸릴 것입니다 .. – Shide