因此,我尝试在运行 IIS 8 的服务器 2012 R2 上的计算机上安装 MediaWiKi 1.31.0。我们正在运行 MSSQL 服务器 2012。我按照媒体 wiki 页面上的说明为 MSSQL 安装,但在创建数据库表(最后一步)时出现错误。
查询:CREATE TABLE [mediawiki].[slots](slot_revision_id bigint NOT NULL,slot_role_id smallint NOT NULL CONSTRAINT FK_slots_slot_role FOREIGN KEY REFERENCES slot_roles(role_id),slot_content_id bigint NOT NULL CONSTRAINT FK_slots_content_id FOREIGN KEY REFERENCES content(content_id),slot_origin bigint NOT NULL,CONSTRAINT PK_slots PRIMARY KEY(slot_revision_id,slot_role_id))
函数:Wikimedia\Rdbms\Database::sourceFile( D:\Web_Apps\TBWiKi/maintenance/mssql/tables.sql ) 错误:1767 [SQLSTATE 42000][错误代码 1767][Microsoft][SQL Server 的 ODBC 驱动程序 17][SQL Server]外键“FK_slots_slot_role”引用了无效表“slot_roles”。[SQLSTATE 42000][错误代码 1750][Microsoft][SQL Server 的 ODBC 驱动程序 17][SQL Server]无法创建约束或索引。请参阅先前的错误。
回溯:
0 D:\Web_Apps\TBWiKi\includes\libs\rdbms\database\Database.php(1427): Wikimedia\Rdbms\Database->makeQueryException(字符串、整数、字符串、字符串) 1 D:\Web_Apps\TBWiKi\includes\libs\rdbms\database\Database.php(1200): Wikimedia\Rdbms\Database->reportQueryError(字符串、整数、字符串、字符串、布尔值) 2 D:\Web_Apps\TBWiKi\includes\libs\rdbms\database\Database.php(4194): Wikimedia\Rdbms\Database->query(字符串、字符串) 3 D:\Web_Apps\TBWiKi\includes\libs\rdbms\database\Database.php(4129): Wikimedia\Rdbms\Database->sourceStream(未知类型、NULL、NULL、字符串、NULL) 4 D:\Web_Apps\TBWiKi\includes\installer\DatabaseInstaller.php(225): Wikimedia\Rdbms\Database->sourceFile(字符串) 5 D:\Web_Apps\TBWiKi\includes\installer\DatabaseInstaller.php(248): DatabaseInstaller->stepApplySourceFile(字符串, 字符串, 布尔值) 6 D:\Web_Apps\TBWiKi\includes\installer\MssqlInstaller.php(635): DatabaseInstaller->createTables() 7 D:\Web_Apps\TBWiKi\includes\installer\Installer.php(1575): MssqlInstaller->createTables(MssqlInstaller) 8 D:\Web_Apps\TBWiKi\includes\installer\WebInstallerInstall.php(44): Installer->performInstallation(数组, 数组) 9 D:\Web_Apps\TBWiKi\includes\installer\WebInstaller.php(281): WebInstallerInstall->execute() 10 D:\Web_Apps\TBWiKi\mw-config\index.php(79): WebInstaller->execute(array) 11 D:\Web_Apps\TBWiKi\mw-config\index.php(38): wfInstallerMain() 12 {main}
我查看了表创建 SQL 脚本,它完全是一个笑话,到处都是明显的错误(引用不存在的表、在脚本中创建的表上创建外键...)。
所以我不问为什么它不起作用,这一点很明显。我想知道是否有一个版本不会遇到这些“困难”……
有人在 MSSQL 上成功安装了 mediawiki 吗?
答案1
引用https://www.mediawiki.org/wiki/Manual:Microsoft_SQL_Server:
MediaWiki 对 Microsoft SQL Server 的支持处于实验阶段。
因此,即使他们声称有某种支持,也应该清楚,如果您想拥有一个可靠的生产系统,您应该使用 MySQL/MariaDB 或 PostgreSQL。