sequelize
Advanced tools
Comparing version 1.6.0-beta-2 to 1.6.0-beta-3
@@ -19,2 +19,3 @@ # v1.6.0 # | ||
- [FEATURE] added findOrCreate, which returns a the already existing instance or creates one (thanks to eveiga) | ||
- [FEATURE] minConnections option for MySQL pooling (thanks to dominiklessel) | ||
@@ -21,0 +22,0 @@ # v1.5.0 # |
@@ -143,2 +143,6 @@ var Utils = require("./utils") | ||
options.include[daoName] = this.daoFactoryManager.getDAO(daoName) | ||
if (!options.include[daoName]) { | ||
options.include[daoName] = this.getAssociationByAlias(daoName).target | ||
} | ||
}.bind(this)) | ||
@@ -145,0 +149,0 @@ } |
@@ -27,2 +27,5 @@ var mysql = require("mysql") | ||
} | ||
if (!this.poolCfg.minConnections) { | ||
this.poolCfg.minConnections = 0 | ||
} | ||
this.pool = Pooling.Pool({ | ||
@@ -37,2 +40,3 @@ name: 'sequelize-mysql', | ||
max: self.poolCfg.maxConnections, | ||
min: self.poolCfg.minConnections, | ||
idleTimeoutMillis: self.poolCfg.maxIdleTime | ||
@@ -39,0 +43,0 @@ }) |
{ | ||
"name": "sequelize", | ||
"description": "Multi dialect ORM for Node.JS", | ||
"version": "1.6.0-beta-2", | ||
"version": "1.6.0-beta-3", | ||
"author": "Sascha Depold <sascha@depold.com>", | ||
@@ -6,0 +6,0 @@ "contributors": [ |
@@ -837,2 +837,24 @@ if(typeof require === 'function') { | ||
it('fetches associated objects via "as" param for 1:1 associations (1st direction)', function(done) { | ||
this.User.hasOne(this.Task, { as: 'Homework' }) | ||
this.Task.belongsTo(this.User) | ||
this.sequelize.sync({ force: true }).success(function() { | ||
this.User.create({ name: 'barfooz' }).success(function(user) { | ||
this.Task.create({ title: 'task' }).success(function(task) { | ||
user.setHomework(task).success(function() { | ||
this.User.findAll({ | ||
where: { 'UserWithNames.id': 1 }, | ||
include: [ 'Homework' ] | ||
}).success(function(users) { | ||
expect(users[0].homework).toBeDefined() | ||
expect(users[0].homework.id).toEqual(task.id) | ||
done() | ||
}) | ||
}.bind(this)) //- setTask | ||
}.bind(this)) //- Task.create | ||
}.bind(this)) //- User.create | ||
}.bind(this)) //- sequelize.sync | ||
}) | ||
it('fetches associated objects for 1:1 associations (2nd direction)', function(done) { | ||
@@ -860,2 +882,24 @@ this.User.hasOne(this.Task) | ||
it('fetches associated objects for 1:1 associations (2nd direction)', function(done) { | ||
this.User.hasOne(this.Task) | ||
this.Task.belongsTo(this.User, { as: 'Owner' }) | ||
this.sequelize.sync({ force: true }).success(function() { | ||
this.User.create({ name: 'barfooz' }).success(function(user) { | ||
this.Task.create({ title: 'task' }).success(function(task) { | ||
user.setTask(task).success(function() { | ||
this.Task.findAll({ | ||
where: { 'Tasks.id': 1 }, | ||
include: [ 'Owner' ] | ||
}).success(function(tasks) { | ||
expect(tasks[0].owner).toBeDefined() | ||
expect(tasks[0].owner.id).toEqual(user.id) | ||
done() | ||
}) | ||
}.bind(this)) //- setTask | ||
}.bind(this)) //- Task.create | ||
}.bind(this)) //- User.create | ||
}.bind(this)) //- sequelize.sync | ||
}) | ||
it('fetches associated objects for 1:N associations (1st direction)', function(done) { | ||
@@ -889,2 +933,30 @@ this.User.hasMany(this.Task) | ||
it('fetches associated objects for 1:N associations (1st direction)', function(done) { | ||
this.User.hasMany(this.Task, { as: 'Homeworks' }) | ||
this.Task.belongsTo(this.User) | ||
this.sequelize.sync({ force: true }).success(function() { | ||
this.User.create({ name: 'barfooz' }).success(function(user) { | ||
this.Task.create({ title: 'task1' }).success(function(task1) { | ||
this.Task.create({ title: 'task2' }).success(function(task2) { | ||
user.setHomeworks([task1, task2]).success(function() { | ||
this.User.findAll({ | ||
where: { 'UserWithNames.id': 1 }, | ||
include: [ 'Homeworks' ] | ||
}).success(function(users) { | ||
expect(users[0].homeworks).toBeDefined() | ||
expect( | ||
users[0].homeworks.map(function(t) { return t.id }) | ||
).toEqual( | ||
[ task1.id, task2.id ] | ||
) | ||
done() | ||
}) | ||
}.bind(this)) //- setTask | ||
}.bind(this)) //- Task.create | ||
}.bind(this)) //- Task.create | ||
}.bind(this)) //- User.create | ||
}.bind(this)) //- sequelize.sync | ||
}) | ||
it('fetches associated objects for 1:N associations (2nd direction)', function(done) { | ||
@@ -914,2 +986,26 @@ this.User.hasMany(this.Task) | ||
it('fetches associated objects for 1:N associations (2nd direction)', function(done) { | ||
this.User.hasMany(this.Task) | ||
this.Task.belongsTo(this.User, { as: 'Owner' }) | ||
this.sequelize.sync({ force: true }).success(function() { | ||
this.User.create({ name: 'barfooz' }).success(function(user) { | ||
this.Task.create({ title: 'task1' }).success(function(task1) { | ||
this.Task.create({ title: 'task2' }).success(function(task2) { | ||
user.setTasks([task1, task2]).success(function() { | ||
this.Task.findAll({ | ||
where: { 'Tasks.id': 1 }, | ||
include: [ 'Owner' ] | ||
}).success(function(tasks) { | ||
expect(tasks[0].owner).toBeDefined() | ||
expect(tasks[0].owner.name).toEqual(user.name) | ||
done() | ||
}) | ||
}.bind(this)) //- setTask | ||
}.bind(this)) //- Task.create | ||
}.bind(this)) //- Task.create | ||
}.bind(this)) //- User.create | ||
}.bind(this)) //- sequelize.sync | ||
}) | ||
it('fetches associated objects for N:M associations (1st direction)', function(done) { | ||
@@ -945,2 +1041,32 @@ this.User.hasMany(this.Task) | ||
it('fetches associated objects for N:M associations (1st direction)', function(done) { | ||
this.User.hasMany(this.Task, { as: 'Homeworks' }) | ||
this.Task.hasMany(this.User) | ||
this.sequelize.sync({ force: true }).success(function() { | ||
this.User.create({ name: 'barfooz' }).success(function(user1) { | ||
this.Task.create({ title: 'task1' }).success(function(task1) { | ||
this.Task.create({ title: 'task2' }).success(function(task2) { | ||
user1.setHomeworks([task1, task2]).success(function() { | ||
this.User.findAll({ | ||
where: { 'UserWithNames.id': user1.id }, | ||
include: [ 'Homeworks' ] | ||
}).success(function(users) { | ||
expect(users[0].homeworks).toBeDefined() | ||
expect( | ||
users[0].homeworks.map(function(t) { return t.id }) | ||
).toEqual( | ||
[ task1.id, task2.id ] | ||
) | ||
done() | ||
}) | ||
}.bind(this)) //- setTask | ||
}.bind(this)) //- Task.create | ||
}.bind(this)) //- Task.create | ||
}.bind(this)) //- User.create | ||
}.bind(this)) //- sequelize.sync | ||
}) | ||
it('fetches associated objects for N:M associations (2nd direction)', function(done) { | ||
@@ -975,2 +1101,32 @@ this.User.hasMany(this.Task) | ||
}) | ||
it('fetches associated objects for N:M associations (2nd direction)', function(done) { | ||
this.User.hasMany(this.Task) | ||
this.Task.hasMany(this.User, { as: 'Owners' }) | ||
this.sequelize.sync({ force: true }).success(function() { | ||
this.User.create({ name: 'barfooz' }).success(function(user1) { | ||
this.Task.create({ title: 'task1' }).success(function(task1) { | ||
this.Task.create({ title: 'task2' }).success(function(task2) { | ||
user1.setTasks([task1, task2]).success(function() { | ||
this.Task.findAll({ | ||
where: { 'Tasks.id': task1.id }, | ||
include: [ 'Owners' ] | ||
}).success(function(tasks) { | ||
expect(tasks[0].owners).toBeDefined() | ||
expect( | ||
tasks[0].owners.map(function(u) { return u.id }) | ||
).toEqual( | ||
[ user1.id ] | ||
) | ||
done() | ||
}) | ||
}.bind(this)) //- setTask | ||
}.bind(this)) //- Task.create | ||
}.bind(this)) //- Task.create | ||
}.bind(this)) //- User.create | ||
}.bind(this)) //- sequelize.sync | ||
}) | ||
}) | ||
@@ -977,0 +1133,0 @@ }) //- describe: findAll |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2540360
9500