不要怂,就是干,撸起袖子干!

Commit 1c0a66af by Angelo Paolo Obispo Committed by Jan Aagaard Meier

fixes issue #5808 removeColumn tries to delete nonexistent foreign keys (#5851)

1 parent c8da3c8f
# Future
- [FIXED] Postgres DECIMAL precision. (PostgreSQL) [#4893](https://github.com/sequelize/sequelize/issues/4893)
- [FIXED] removeColumn tries to delete non-existant foreign key constraint (mysql) [#5808](https://github.com/sequelize/sequelize/issues/5808)
# 3.23.0
- [FIXED] Invalid query generated when using LIKE + ANY [#5736](https://github.com/sequelize/sequelize/issues/5736)
......
......@@ -357,8 +357,11 @@ var QueryGenerator = {
return [
'SELECT CONSTRAINT_NAME as constraint_name',
'FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE',
'WHERE TABLE_NAME = ' + wrapSingleQuote(tableName),
'WHERE (REFERENCED_TABLE_NAME = ' + wrapSingleQuote(tableName),
'AND REFERENCED_COLUMN_NAME = ' + wrapSingleQuote(columnName),
') OR (TABLE_NAME = ' + wrapSingleQuote(tableName),
'AND COLUMN_NAME = ' + wrapSingleQuote(columnName),
')',
].join(' ');
},
......
......@@ -696,7 +696,7 @@ describe(Support.getTestDialectTeaser('QueryInterface'), function() {
it('should get a list of foreign keys for the table', function() {
var sql = this.queryInterface.QueryGenerator.getForeignKeysQuery('hosts', this.sequelize.config.database);
var self = this;
return this.sequelize.query(sql, {type: this.sequelize.QueryTypes.FOREIGNKEYS}).then(function(fks) {
expect(fks).to.have.length(3);
var keys = Object.keys(fks[0]),
......@@ -714,6 +714,18 @@ describe(Support.getTestDialectTeaser('QueryInterface'), function() {
} else {
console.log('This test doesn\'t support ' + dialect);
}
return fks;
}).then(function(fks){
if (dialect === 'mysql') {
return self.sequelize.query(
self.queryInterface.QueryGenerator.getForeignKeyQuery('hosts', 'admin'),
{}
)
.spread(function(fk){
expect(fks[0]).to.deep.eql(fk[0]);
});
}
return;
});
});
});
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!