Page MenuHomePhabricator

[BlogPage] Error: 1067 Invalid default value for 'Comment_Date'
Closed, ResolvedPublic

Description

From https://integration.wikimedia.org/ci/job/quibble-vendor-mysql-hhvm-docker/52309/console:

01:22:33 Creating Comments table ...Wikimedia\Rdbms\DBQueryError from line 1586 of /workspace/src/includes/libs/rdbms/database/Database.php: A database query error has occurred. Did you forget to run your application's database schema updater after upgrading? 
01:22:33 Query: CREATE TABLE `Comments` (
01:22:33  CommentID int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
01:22:33  Comment_Page_ID int(11) NOT NULL default 0,
01:22:33  Comment_user_id int(11) NOT NULL default 0,
01:22:33  Comment_Username varchar(200) NOT NULL default '',
01:22:33  Comment_Text text NOT NULL,
01:22:33  Comment_Date datetime NOT NULL default '0000-00-00 00:00:00',
01:22:33  Comment_Parent_ID int(11) NOT NULL default 0,
01:22:33  Comment_IP varchar(45) NOT NULL default ''
01:22:33  ) ENGINE=InnoDB, DEFAULT CHARSET=binary
01:22:33 
01:22:33 Function: Wikimedia\Rdbms\Database::sourceFile( /workspace/src/extensions/Comments/includes/../sql/comments.sql )
01:22:33 Error: 1067 Invalid default value for 'Comment_Date' (/workspace/db/quibble-mysql-p8f5mzyn/socket)
01:22:33 
01:22:33 #0 /workspace/src/includes/libs/rdbms/database/Database.php(1554): Wikimedia\Rdbms\Database->getQueryExceptionAndLog()
01:22:33 #1 /workspace/src/includes/libs/rdbms/database/Database.php(1274): Wikimedia\Rdbms\Database->reportQueryError()
01:22:33 #2 /workspace/src/includes/libs/rdbms/database/Database.php(4378): Wikimedia\Rdbms\Database->query()
01:22:33 #3 /workspace/src/includes/libs/rdbms/database/Database.php(4313): Wikimedia\Rdbms\Database->sourceStream()
01:22:33 #4 /workspace/src/includes/installer/DatabaseUpdater.php(690): Wikimedia\Rdbms\Database->sourceFile()
01:22:33 #5 /workspace/src/includes/installer/DatabaseUpdater.php(733): DatabaseUpdater->applyPatch()
01:22:33 #6 /workspace/src/includes/installer/DatabaseUpdater.php(489): DatabaseUpdater->addTable()
01:22:33 #7 /workspace/src/includes/installer/DatabaseUpdater.php(457): DatabaseUpdater->runUpdates()
01:22:33 #8 /workspace/src/includes/installer/DatabaseInstaller.php(312): DatabaseUpdater->doUpdates()
01:22:33 #9 /workspace/src/includes/installer/Installer.php(1601): DatabaseInstaller->createExtensionTables()
01:22:33 #10 /workspace/src/includes/installer/CliInstaller.php(178): Installer->performInstallation()
01:22:33 #11 /workspace/src/maintenance/install.php(129): CliInstaller->execute()
01:22:33 #12 /workspace/src/maintenance/doMaintenance.php(99): CommandLineInstaller->execute()
01:22:33 #13 /workspace/src/maintenance/install.php(184): include()
01:22:33 #14 {main}

If sql_mode includes NO_ZERO_IN_DATE,NO_ZERO_DATE, default value for a datetime type value not allow 0.

Event Timeline

ashley added subscribers: lcawte, ashley.

Patches welcome. :)

That being said, some things to note:

  • there are plenty of real-world users of the MediaWiki-extensions-Comments extension, so appropriate migration procedure must be in place
  • Comments is by no means the only offender; in fact, a lot of Social-Tools use the nonstandard (in MW context) datetime data type for a timestamp field, instead of the more standard binary(14) NOT NULL default '' or varbinary(14) NOT NULL default ''
  • It seems that PollNY uses datetime default NULL for poll_question.poll_date, so maybe just changing Comment_Date definition to that would do the trick?

cc @lcawte (ShoutWiki)

Change 522476 had a related patch set uploaded (by Paladox; owner: Paladox):
[mediawiki/extensions/Comments@master] Fix Invalid default value for 'Comment_Date'

https://gerrit.wikimedia.org/r/522476

Change 522476 merged by jenkins-bot:
[mediawiki/extensions/Comments@master] Fix Invalid default value for 'Comment_Date' and 'Comment_Vote_Date'

https://gerrit.wikimedia.org/r/522476

Paladox claimed this task.

Change 652934 had a related patch set uploaded (by Umherirrender; owner: Paladox):
[mediawiki/extensions/Comments@REL1_31] Fix Invalid default value for 'Comment_Date' and 'Comment_Vote_Date'

https://gerrit.wikimedia.org/r/652934

Change 652934 merged by Legoktm:
[mediawiki/extensions/Comments@REL1_31] Fix Invalid default value for 'Comment_Date' and 'Comment_Vote_Date'

https://gerrit.wikimedia.org/r/652934