diff --git a/resources/sql/patches/20130820.file-mailkey-populate.php b/resources/sql/patches/20130820.file-mailkey-populate.php index f1d2a22a92..de1a920d97 100644 --- a/resources/sql/patches/20130820.file-mailkey-populate.php +++ b/resources/sql/patches/20130820.file-mailkey-populate.php @@ -1,32 +1,38 @@ getTableName(); $conn_w = $table->establishConnection('w'); $conn_w->openTransaction(); $sql = array(); foreach (new LiskRawMigrationIterator($conn_w, 'file') as $row) { + // NOTE: MySQL requires that the INSERT specify all columns which don't + // have default values when configured in strict mode. This query will + // never actually insert rows, but we need to hand it values anyway. + $sql[] = qsprintf( $conn_w, - '(%d, %s)', + '(%d, %s, 0, 0, 0, 0, 0, 0, 0, 0)', $row['id'], Filesystem::readRandomCharacters(20)); } if ($sql) { foreach (PhabricatorLiskDAO::chunkSQL($sql, ', ') as $chunk) { queryfx( $conn_w, - 'INSERT INTO %T (id, mailKey) VALUES %Q '. + 'INSERT INTO %T + (id, mailKey, phid, byteSize, storageEngine, storageFormat, + storageHandle, dateCreated, dateModified, metadata) VALUES %Q '. 'ON DUPLICATE KEY UPDATE mailKey = VALUES(mailKey)', $table_name, $chunk); } } $table->saveTransaction(); echo "Done.\n";