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

Commit 8731f222 by Mick Hansen

Merge branch 'patch-issue-3279' of https://github.com/ackerdev/sequelize into ac…

…kerdev-patch-issue-3279
2 parents a72981c6 9e6b0610
...@@ -971,7 +971,7 @@ module.exports = (function() { ...@@ -971,7 +971,7 @@ module.exports = (function() {
, primaryKeysSource = association.source.primaryKeyAttributes , primaryKeysSource = association.source.primaryKeyAttributes
, tableSource = parentTable , tableSource = parentTable
, identSource = association.identifierField , identSource = association.identifierField
, attrSource = association.source.rawAttributes[primaryKeysSource[0]].field || primaryKeysSource[0] , attrSource = primaryKeysSource[0]
, where , where
, primaryKeysTarget = association.target.primaryKeyAttributes , primaryKeysTarget = association.target.primaryKeyAttributes
......
...@@ -246,7 +246,7 @@ describe(Support.getTestDialectTeaser('BelongsToMany'), function() { ...@@ -246,7 +246,7 @@ describe(Support.getTestDialectTeaser('BelongsToMany'), function() {
}); });
var User_has_Group = this.sequelize.define('User_has_Group', { var User_has_Group = this.sequelize.define('User_has_Group', {
}, { }, {
tableName: 'tbl_user_has_group' tableName: 'tbl_user_has_group'
}); });
...@@ -269,6 +269,57 @@ describe(Support.getTestDialectTeaser('BelongsToMany'), function() { ...@@ -269,6 +269,57 @@ describe(Support.getTestDialectTeaser('BelongsToMany'), function() {
}); });
}); });
}); });
it('supports primary key attributes with different field names', function () {
var User = this.sequelize.define('User', {
id: {
type: DataTypes.UUID,
allowNull: false,
primaryKey: true,
defaultValue: DataTypes.UUIDV4,
field: 'user_id'
}
}, {
tableName: 'tbl_user'
});
var Group = this.sequelize.define('Group', {
id: {
type: DataTypes.UUID,
allowNull: false,
primaryKey: true,
defaultValue: DataTypes.UUIDV4,
field: 'group_id'
}
}, {
tableName: 'tbl_group'
});
var User_has_Group = this.sequelize.define('User_has_Group', {
}, {
tableName: 'tbl_user_has_group'
});
User.belongsToMany(Group, {through: User_has_Group});
Group.belongsToMany(User, {through: User_has_Group});
return this.sequelize.sync({force: true}).then(function () {
return Promise.join(
User.create(),
Group.create()
).spread(function (user, group) {
return user.addGroup(group);
}).then(function () {
return User.findOne({
where: {},
include: Group
}).then(function (user) {
return user;
});
});
});
});
}); });
describe('setAssociations', function() { describe('setAssociations', function() {
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!