Per Tim Starling, follow-up r83137: added schema update
authorAlexandre Emsenhuber <ialex@users.mediawiki.org>
Thu, 17 Mar 2011 17:35:52 +0000 (17:35 +0000)
committerAlexandre Emsenhuber <ialex@users.mediawiki.org>
Thu, 17 Mar 2011 17:35:52 +0000 (17:35 +0000)
includes/installer/MysqlUpdater.php
maintenance/archives/patch-user-newtalk-timestamp-null.sql [new file with mode: 0644]

index db9f9c5..f33983a 100644 (file)
@@ -176,6 +176,9 @@ class MysqlUpdater extends DatabaseUpdater {
                        array( 'addIndex', 'archive', 'ar_revid',               'patch-archive_ar_revid.sql' ),
                        array( 'doLangLinksLengthUpdate' ),
                        array( 'doClTypeVarcharUpdate' ),
+
+                       // 1.18
+                       array( 'doUserNewTalkTimestampNotNull' ),
                );
        }
 
@@ -843,4 +846,16 @@ class MysqlUpdater extends DatabaseUpdater {
                        $this->output( "...cl_type is up-to-date.\n" );
                }
        }
+
+       protected function doUserNewTalkTimestampNotNull() {
+               $info = $this->db->fieldInfo( 'user_newtalk', 'user_last_timestamp' );
+               if ( $info->isNullable() ) {
+                       $this->output( "...user_last_timestamp is already nullable.\n" );
+                       return;
+               }
+
+               $this->output( "Making user_last_timestamp nullable... " );
+               $this->applyPatch( 'patch-user-newtalk-timestamp-null.sql' );
+               $this->output( "done.\n" );
+       }
 }
diff --git a/maintenance/archives/patch-user-newtalk-timestamp-null.sql b/maintenance/archives/patch-user-newtalk-timestamp-null.sql
new file mode 100644 (file)
index 0000000..7234362
--- /dev/null
@@ -0,0 +1 @@
+ALTER TABLE /*_*/user_newtalk MODIFY user_last_timestamp varbinary(14) NULL default NULL;