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 数据库问题的主要内容,如果未能解决你的问题,请参考以下文章
sql 数据库过期了,想升级下,提示未将对象引用设置到对象的实例。
mysql数据库经常会报的错误 包括dede升级和其它CMS的升级遇到的问题