[ 'addField', 'externallinks', 'el_index_60', 'patch-externallinks-el_index_60.sql' ],
[ 'dropIndex', 'oldimage', 'oi_name_archive_name',
'patch-alter-table-oldimage.sql' ],
+
+ // 1.30
+ [ 'modifyField', 'image', 'img_media_type', 'patch-add-3d.sql' ],
];
}
/**
* General schema update for a table that touches more than one field or requires
- * destructive actions (such as dropping and recreating the table).
+ * destructive actions (such as dropping and recreating the table). NOTE: Usage of
+ * this function is highly discouraged, use it's successor DatabaseUpdater::modifyTable
+ * instead.
*
* @param string $table
* @param string $updatekey
* @param string $patch
* @param bool $fullpath
+ * @return bool
*/
protected function updateSchema( $table, $updatekey, $patch, $fullpath = false ) {
if ( !$this->db->tableExists( $table, __METHOD__ ) ) {
} elseif ( $this->updateRowExists( $updatekey ) ) {
$this->output( "...$table already had schema updated by $patch.\n" );
} else {
- $this->insertUpdateRow( $updatekey );
-
- return $this->applyPatch( $patch, $fullpath, "Updating schema of table $table" );
+ $apply = $this->applyPatch( $patch, $fullpath, "Updating schema of table $table" );
+ if ( $apply ) {
+ $this->insertUpdateRow( $updatekey );
+ }
+ return $apply;
}
return true;