do not fail on custom field index error
This commit is contained in:
parent
7cb5af94b0
commit
35078defb6
1 changed files with 21 additions and 6 deletions
|
@ -319,27 +319,32 @@ function addCustomField(listId, name, defaultValue, type, group, groupTemplate,
|
|||
}
|
||||
|
||||
let fieldId = result && result.insertId;
|
||||
let indexQuery;
|
||||
|
||||
switch (type) {
|
||||
case 'text':
|
||||
case 'website':
|
||||
query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` VARCHAR(255) DEFAULT NULL, ADD INDEX (' + column + ')';
|
||||
query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` VARCHAR(255) DEFAULT NULL';
|
||||
indexQuery = 'CREATE INDEX ' + column + '_index ON `subscription__' + listId + '` (`column`);';
|
||||
break;
|
||||
case 'gpg':
|
||||
case 'longtext':
|
||||
query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` TEXT DEFAULT NULL';
|
||||
break;
|
||||
case 'number':
|
||||
query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` INT(11) DEFAULT NULL, ADD INDEX (' + column + ')';
|
||||
query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` INT(11) DEFAULT NULL';
|
||||
indexQuery = 'CREATE INDEX ' + column + '_index ON `subscription__' + listId + '` (`column`);';
|
||||
break;
|
||||
case 'option':
|
||||
query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` TINYINT(4) UNSIGNED NOT NULL DEFAULT \'0\', ADD INDEX (' + column + ')';
|
||||
query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` TINYINT(4) UNSIGNED NOT NULL DEFAULT \'0\'';
|
||||
indexQuery = 'CREATE INDEX ' + column + '_index ON `subscription__' + listId + '` (`column`);';
|
||||
break;
|
||||
case 'date-us':
|
||||
case 'date-eur':
|
||||
case 'birthday-us':
|
||||
case 'birthday-eur':
|
||||
query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` TIMESTAMP NULL DEFAULT NULL, ADD INDEX (' + column + ')';
|
||||
query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` TIMESTAMP NULL DEFAULT NULL';
|
||||
indexQuery = 'CREATE INDEX ' + column + '_index ON `subscription__' + listId + '` (`column`);';
|
||||
break;
|
||||
default:
|
||||
connection.release();
|
||||
|
@ -351,8 +356,18 @@ function addCustomField(listId, name, defaultValue, type, group, groupTemplate,
|
|||
connection.query('DELETE FROM custom_fields WHERE id=? LIMIT 1', [fieldId], () => connection.release());
|
||||
return callback(err);
|
||||
}
|
||||
connection.release();
|
||||
return callback(null, fieldId, key);
|
||||
if (!indexQuery) {
|
||||
connection.release();
|
||||
return callback(null, fieldId, key);
|
||||
} else {
|
||||
connection.query(query, err => {
|
||||
if (err) {
|
||||
// ignore index errors
|
||||
}
|
||||
connection.release();
|
||||
return callback(null, fieldId, key);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue