Пример #1
0
safe_alter('txp_css', "DROP INDEX name,               ADD UNIQUE name (name(250))");
safe_alter('txp_file', "DROP INDEX filename,           ADD UNIQUE filename (filename(250))");
safe_alter('txp_form', "DROP PRIMARY KEY,              ADD PRIMARY KEY (name(250))");
safe_alter('txp_page', "DROP PRIMARY KEY,              ADD PRIMARY KEY (name(250))");
safe_alter('txp_section', "DROP PRIMARY KEY,              ADD PRIMARY KEY (name(250))");
safe_alter('txp_prefs', "DROP INDEX prefs_idx,          ADD UNIQUE prefs_idx (prefs_id, name(185), user_name)");
safe_alter('txp_prefs', "DROP INDEX name,               ADD INDEX name (name(250))");
safe_alter('textpattern', "DROP INDEX section_status_idx, ADD INDEX section_status_idx (Section(249), Status)");
safe_alter('textpattern', "DROP INDEX url_title_idx,      ADD INDEX url_title_idx (url_title(250))");
// txp_discuss_nonce didn't have a primary key in 4.0.3, so we recreate its index in two steps
safe_drop_index('txp_discuss_nonce', "PRIMARY");
safe_alter('txp_discuss_nonce', "ADD PRIMARY KEY (nonce(250))");
// Fix typo: textinput should be text_input
safe_update('txp_prefs', "html = 'text_input'", "name = 'timezone_key'");
// Fix typo: position 40 should be 0 (because it's a hidden pref)
safe_update('txp_prefs', "position = 0", "name = 'language'");
// Fix typo: position should be 60 instead of 30 (so it appears just below the site name)
safe_update('txp_prefs', "position = 60", "name = 'site_slogan'");
// Enforce some table changes that happened after 4.0.3 but weren't part of update scripts until now
safe_alter('txp_css', "MODIFY name  VARCHAR(255) NOT NULL");
safe_alter('txp_lang', "MODIFY lang  VARCHAR(16)  NOT NULL");
safe_alter('txp_lang', "MODIFY name  VARCHAR(64)  NOT NULL");
safe_alter('txp_lang', "MODIFY event VARCHAR(64)  NOT NULL");
safe_drop_index('txp_form', "name");
safe_drop_index('txp_page', "name");
safe_drop_index('txp_plugin', "name_2");
safe_drop_index('txp_section', "name");
// The txp_priv table was created for version 1.0, but never used nor created in later versions.
safe_drop('txp_priv');
// Add generic token table.
safe_create('txp_token', "\nid           INT          NOT NULL AUTO_INCREMENT,\nreference_id INT          DEFAULT 0,\ntype         VARCHAR(255) DEFAULT '',\nselector     CHAR(12)     DEFAULT '',\ntoken        VARCHAR(255) DEFAULT '',\nexpires      DATETIME     DEFAULT '0000-00-00 00:00:00',\nPRIMARY KEY (id)\n");
Пример #2
0
safe_alter('txp_lang', "MODIFY event VARCHAR(64)  NOT NULL");
safe_drop_index('txp_form', "name");
safe_drop_index('txp_page', "name");
safe_drop_index('txp_plugin', "name_2");
safe_drop_index('txp_section', "name");
// The txp_priv table was created for version 1.0, but never used nor created in later versions.
safe_drop('txp_priv');
// Remove empty update files
foreach (array('4.4.0', '4.4.1') as $v) {
    $file = txpath . DS . 'update' . DS . '_to_' . $v . '.php';
    if (file_exists($file)) {
        unlink($file);
    }
}
// Add generic token table (dropping first, because of changes to the table setup)
safe_drop('txp_token');
safe_create('txp_token', "\n    id           INT          NOT NULL AUTO_INCREMENT,\n    reference_id INT          NOT NULL DEFAULT 0,\n    type         VARCHAR(255) NOT NULL DEFAULT '',\n    selector     VARCHAR(12)  NOT NULL DEFAULT '',\n    token        VARCHAR(255) NOT NULL DEFAULT '',\n    expires      DATETIME         NULL DEFAULT NULL,\n\n    PRIMARY KEY (id)\n");
// Get rid of default zero dates to make MySQL 5.7 happy.
safe_alter('textpattern', "MODIFY Posted      DATETIME NOT NULL");
safe_alter('textpattern', "MODIFY Expires     DATETIME     NULL DEFAULT NULL");
safe_alter('textpattern', "MODIFY LastMod     DATETIME NOT NULL");
safe_alter('textpattern', "MODIFY feed_time   DATE     NOT NULL");
//0000-00-00
safe_alter('txp_discuss', "MODIFY posted      DATETIME NOT NULL");
safe_alter('txp_discuss_nonce', "MODIFY issue_time  DATETIME NOT NULL");
safe_alter('txp_file', "MODIFY created     DATETIME NOT NULL");
safe_alter('txp_file', "MODIFY modified    DATETIME NOT NULL");
safe_alter('txp_image', "MODIFY date        DATETIME NOT NULL");
safe_alter('txp_link', "MODIFY date        DATETIME NOT NULL");
safe_alter('txp_log', "MODIFY time        DATETIME NOT NULL");
safe_alter('txp_users', "MODIFY last_access DATETIME     NULL DEFAULT NULL");