Skip to content

Commit 5806eff

Browse files
committed
Fixes possible index related update problem during update
`Uncaught mysqli_sql_exception: Specified key was too long; max key length is 1000 bytes…`
1 parent 3da2eb9 commit 5806eff

1 file changed

Lines changed: 14 additions & 5 deletions

File tree

include/inc_lib/revision/r497.php

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,27 +36,36 @@ function phpwcms_revision_r497() {
3636

3737
if(isset($result[0]['Type']) && substr(strtolower($result[0]['Type']), 0, 3) == 'int') {
3838

39+
// Drop index first
40+
_dbQuery("ALTER TABLE ".DB_PREPEND. 'phpwcms_crossreference DROP INDEX cref_type', 'ALTER');
3941
$result = _dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_crossreference CHANGE cref_type cref_type VARCHAR(255) NOT NULL DEFAULT ''", 'ALTER');
4042

41-
// Update feedimport References
42-
_dbUpdate('phpwcms_crossreference', array('cref_type'=>'feed_to_article_import'), "cref_str LIKE 'feedimport_%'");
43+
// Add new index
44+
_dbQuery("ALTER TABLE ".DB_PREPEND. 'phpwcms_crossreference ADD INDEX (cref_type)', 'ALTER');
45+
_dbQuery("ALTER TABLE ".DB_PREPEND. 'phpwcms_crossreference ADD INDEX (cref_int)', 'ALTER');
46+
_dbQuery("ALTER TABLE ".DB_PREPEND. 'phpwcms_crossreference ADD INDEX (cref_rid)', 'ALTER');
47+
_dbQuery("ALTER TABLE ".DB_PREPEND. 'phpwcms_crossreference ADD INDEX (cref_str)', 'ALTER');
4348

49+
if ($result) {
50+
// Update feedimport References
51+
_dbUpdate('phpwcms_crossreference', array('cref_type' => 'feed_to_article_import'), "cref_str LIKE 'feedimport_%'");
52+
}
4453
}
4554

4655
// add language to article category, article and content part
4756
$result = _dbQuery("SHOW COLUMNS FROM ".DB_PREPEND."phpwcms_articlecat LIKE 'acat_lang'", 'COUNT_SHOW');
4857
if(empty($result)) {
49-
$result = _dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_articlecat ADD acat_lang VARCHAR(255) NOT NULL DEFAULT ''", 'ALTER');
58+
_dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_articlecat ADD acat_lang VARCHAR(255) NOT NULL DEFAULT ''", 'ALTER');
5059
_dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_articlecat ADD INDEX (acat_lang)", 'ALTER');
5160
}
5261
$result = _dbQuery("SHOW COLUMNS FROM ".DB_PREPEND."phpwcms_article LIKE 'article_lang'", 'COUNT_SHOW');
5362
if(empty($result)) {
54-
$result = _dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_article ADD article_lang VARCHAR(255) NOT NULL DEFAULT ''", 'ALTER');
63+
_dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_article ADD article_lang VARCHAR(255) NOT NULL DEFAULT ''", 'ALTER');
5564
_dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_article ADD INDEX (article_lang)", 'ALTER');
5665
}
5766
$result = _dbQuery("SHOW COLUMNS FROM ".DB_PREPEND."phpwcms_articlecontent LIKE 'acontent_lang'", 'COUNT_SHOW');
5867
if(empty($result)) {
59-
$result = _dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_articlecontent ADD acontent_lang VARCHAR(255) NOT NULL DEFAULT ''", 'ALTER');
68+
_dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_articlecontent ADD acontent_lang VARCHAR(255) NOT NULL DEFAULT ''", 'ALTER');
6069
_dbQuery("ALTER TABLE ".DB_PREPEND."phpwcms_articlecontent ADD INDEX (acontent_lang)", 'ALTER');
6170
}
6271

0 commit comments

Comments
 (0)