Handle undefined when altering tables
This commit is contained in:
parent
5f007eabc0
commit
1bae8a8062
28
lib/mysql.js
28
lib/mysql.js
|
@ -403,11 +403,13 @@ MySQL.prototype.alterTable = function (model, actualFields, actualIndexes, done,
|
|||
propNames.forEach(function (propName) {
|
||||
if (propName === 'id') return;
|
||||
var found;
|
||||
actualFields.forEach(function (f) {
|
||||
if (f.Field === propName) {
|
||||
found = f;
|
||||
}
|
||||
});
|
||||
if (actualIndexes) {
|
||||
actualFields.forEach(function (f) {
|
||||
if (f.Field === propName) {
|
||||
found = f;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (found) {
|
||||
actualize(propName, found);
|
||||
|
@ -417,13 +419,15 @@ MySQL.prototype.alterTable = function (model, actualFields, actualIndexes, done,
|
|||
});
|
||||
|
||||
// drop columns
|
||||
actualFields.forEach(function (f) {
|
||||
var notFound = !~propNames.indexOf(f.Field);
|
||||
if (f.Field === 'id') return;
|
||||
if (notFound || !m.properties[f.Field]) {
|
||||
sql.push('DROP COLUMN `' + f.Field + '`');
|
||||
}
|
||||
});
|
||||
if (actualFields) {
|
||||
actualFields.forEach(function (f) {
|
||||
var notFound = !~propNames.indexOf(f.Field);
|
||||
if (f.Field === 'id') return;
|
||||
if (notFound || !m.properties[f.Field]) {
|
||||
sql.push('DROP COLUMN `' + f.Field + '`');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// remove indexes
|
||||
aiNames.forEach(function (indexName) {
|
||||
|
|
Loading…
Reference in New Issue