YetAnotherForum 升级遇到 SQL 数据库问题

Posted

技术标签:

【中文标题】YetAnotherForum 升级遇到 SQL 数据库问题【英文标题】:YetAnotherForum Upgrade encountering a SQL DB issue 【发布时间】:2014-03-12 09:52:01 【问题描述】:

我们从 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 中选择 top 1 1 where object_id=object_id('[dbo].[yaf_Message]'Wink and name='IP' and 精度

YAF.Classes.Data.LegacyDb.system_initialize_executescripts(字符串 脚本,字符串 scriptFile,布尔值 useTransactions) +1540 YAF.Core.Services.InstallUpgradeService.ExecuteScript(字符串 脚本文件,布尔使用事务)+188 YAF.Core.Services.InstallUpgradeService.UpgradeDatabase(布尔 全文,布尔升级扩展)+205 YAF.Install._default.Wizard_NextButtonClick(对象发送者, WizardNavigationEventArgs e) +1559 System.Web.UI.WebControls.Wizard.OnBubbleEvent(对象源, EventArgs e) +584 System.Web.UI.Control.RaiseBubbleEvent(对象 源,EventArgs 参数)+84 System.Web.UI.Page.ProcessRequestMain(布尔值 includeStagesBeforeAsyncPoint,布尔型 includeStagesAfterAsyncPoint) +3804

我需要修改一些表格字段吗?

我的另一个解决方案是手动导入每个用户、论坛等,但这需要相当长的时间,所以我真的希望让安装自动升级数据库。

【问题讨论】:

【参考方案1】:

理论上你可以做到以下几点;

    备份数据库(再次) 为新窗口编写索引。 删除索引。 应用更新。 检查数据不包含空值,并根据需要进行修复。 重新创建索引。

【讨论】:

我会试试的,因为我们有超过 250 万用户,这需要一些时间

以上是关于YetAnotherForum 升级遇到 SQL 数据库问题的主要内容,如果未能解决你的问题,请参考以下文章

升级MySQL 5.7版本遇到的一些小问题

sql 数据库过期了,想升级下,提示未将对象引用设置到对象的实例。

mysql数据库经常会报的错误 包括dede升级和其它CMS的升级遇到的问题

将 SQL Server Express 升级到 Developer 性能计数器注册表一致性错误

sql脚本存储过程

sql server 2012提示评估期已过的解决办法 附序列号