我们从2001年或2002年开始使用yaf。
我们论坛的版本是1.7,注册用户超过250万,这就产生了大量数据。。。
我已经制作了一份实际数据库的副本,我正在尝试将此安装升级到2.1.1版,但在尝试升级时,mssql/tables.SQL文件出现SQL错误:
文件:mssql/tables.sql
错误:索引
“_dta_index_yaf_Message_9_757577737__K2_K1_K12_K6_4_5_7_8_10_11”是
依赖于列“IP”。ALTER TABLE ALTER COLUMN IP失败,原因是
一个或多个对象访问此列。
声明:如果存在(请从sys.columns中选择前1 1,其中
object_id=object_id('[dbo].[yaf_Message]'链接和名称='IP'和
精度<39)开始改变表[dbo]。[yaf_Message]更改列
[IP]varchar(39)非空结尾
YAF.Classes.Data.LegacyDb.system_initialize_executescripts(字符串
脚本,字符串scriptFile,布尔值useTransactions)+1540
YAF.Core.Services.InstallUpgradeService.ExecutScript(字符串
scriptFile,Boolean useTransactions)+188
YAF.Core.Services.InstallUpgradeService.UpgradeDatabase(布尔值
全文,布尔升级扩展)+205
YAF.Install.default.Ward_NextButtonClick(对象发送者,
向导导航事件参数e)+1559
System.Web.UI.WebControls.Wizard.OnBubbleEvent(对象源,
EventArgs e)+584 System.Web.UI.Control.RiseBubbleEvent(对象
源,EventArgs参数)+84
System.Web.UI.Page.ProcessRequestMain(布尔
includeStagesBeforeSyncPoint,布尔includeStagesAfterSyncPoint)
+3804
是否必须修改某些表字段?
我的另一个解决方案是手动导入每个用户、论坛等,但这需要相当长的时间,所以我真的希望让安装程序自动升级DB。