mirror of
https://github.com/knex/knex.git
synced 2025-11-10 23:04:36 +00:00
a few more tweaks to get the foreign key support just right
This commit is contained in:
parent
21c0ad5d33
commit
a8c1b5355c
12
knex.js
12
knex.js
@ -1181,10 +1181,14 @@
|
|||||||
return this._indexCommand('index', columns, name);
|
return this._indexCommand('index', columns, name);
|
||||||
},
|
},
|
||||||
|
|
||||||
// Specify a foreign key for the table.
|
// Specify a foreign key for the table, also getting any
|
||||||
|
// relevant info from the chain during column.
|
||||||
foreign: function(column, name) {
|
foreign: function(column, name) {
|
||||||
var chainable = this._indexCommand('foreign', column, name);
|
var chained, chainable = this._indexCommand('foreign', column, name);
|
||||||
return _.extend(chainable, ForeignChainable, _.pick(column, 'foreignColumn', 'foreignTable', 'commandOnDelete', 'commandOnUpdate'));
|
if (_.isObject(column)) {
|
||||||
|
chained = _.pick(column, 'foreignColumn', 'foreignTable', 'commandOnDelete', 'commandOnUpdate');
|
||||||
|
}
|
||||||
|
return _.extend(chainable, ForeignChainable, chained);
|
||||||
},
|
},
|
||||||
|
|
||||||
// Create a new auto-incrementing column on the table.
|
// Create a new auto-incrementing column on the table.
|
||||||
@ -1317,7 +1321,7 @@
|
|||||||
if (!_.isArray(columns)) columns = columns ? [columns] : [];
|
if (!_.isArray(columns)) columns = columns ? [columns] : [];
|
||||||
if (index === null) {
|
if (index === null) {
|
||||||
var table = this.table.replace(/\.|-/g, '_');
|
var table = this.table.replace(/\.|-/g, '_');
|
||||||
index = (table + '_' + _.map(columns, function(col) { return col.name; }).join('_') + '_' + type).toLowerCase();
|
index = (table + '_' + _.map(columns, function(col) { return col.name || col; }).join('_') + '_' + type).toLowerCase();
|
||||||
}
|
}
|
||||||
return this._addCommand(type, {index: index, columns: columns});
|
return this._addCommand(type, {index: index, columns: columns});
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user