diff --git a/examples/UsingMultipleModelFiles/Project.js b/examples/UsingMultipleModelFiles/Project.js deleted file mode 100644 index 9437a4c48021..000000000000 --- a/examples/UsingMultipleModelFiles/Project.js +++ /dev/null @@ -1,10 +0,0 @@ -exports.getProjectClass = function(Sequelize, sequelize) { - var Project = sequelize.define("Project", { - name: Sequelize.STRING, - description: Sequelize.TEXT - }) - - /* - Here comes further Project logic - */ -} \ No newline at end of file diff --git a/examples/UsingMultipleModelFiles/Task.js b/examples/UsingMultipleModelFiles/Task.js deleted file mode 100644 index a060dbbba33f..000000000000 --- a/examples/UsingMultipleModelFiles/Task.js +++ /dev/null @@ -1,11 +0,0 @@ -exports.getTaskClass = function(Sequelize, sequelize) { - var Task = sequelize.define("Task", { - name: Sequelize.STRING, - deadline: Sequelize.DATE, - importance: Sequelize.INTEGER - }) - - /* - Here comes further Task logic - */ -} \ No newline at end of file diff --git a/examples/UsingMultipleModelFiles/app.js b/examples/UsingMultipleModelFiles/app.js deleted file mode 100644 index 6f59113d256f..000000000000 --- a/examples/UsingMultipleModelFiles/app.js +++ /dev/null @@ -1,37 +0,0 @@ -var Sequelize = require(__dirname + "/../../lib/sequelize/Sequelize").Sequelize, - sequelize = new Sequelize("sequelize_test", "test", "test"), - Project = sequelize.import(__dirname + "/Project").Project, - Task = sequelize.import(__dirname + "/Task").Task - -Project.hasMany('tasks', Task) -Task.belongsTo('project', Project) - -sequelize.drop(function(errors) { - if(errors.length > 0) return Sequelize.Helper.log(errors) - - sequelize.sync(function(errors) { - if(errors.length > 0) return Sequelize.Helper.log(errors) - - new Project({ - name: 'Sequelize', - description: 'A nice MySQL ORM for NodeJS' - }).save(function(project) { - var task1 = new Task({ - name: 'Choose a nice MySQL connector', - deadline: new Date(), - importance: 10 - }) - var task2 = new Task({ - name: 'Build the rest', - deadline: new Date(), - importance: 90 - }) - Sequelize.chainQueries([{save: task1}, {save: task2}], function() { - project.setTasks([task1, task2], function(tasks) { - Sequelize.Helper.log(project) - Sequelize.Helper.log(tasks) - }) - }) - }) - }) -}) \ No newline at end of file diff --git a/examples/using-multiple-model-files/Project.js b/examples/using-multiple-model-files/Project.js new file mode 100644 index 000000000000..ffe0b1c0d3f1 --- /dev/null +++ b/examples/using-multiple-model-files/Project.js @@ -0,0 +1,6 @@ +module.exports = function(sequelize, DataTypes) { + return sequelize.define("Project", { + name: DataTypes.STRING, + description: DataTypes.TEXT + }) +} \ No newline at end of file diff --git a/examples/using-multiple-model-files/Task.js b/examples/using-multiple-model-files/Task.js new file mode 100644 index 000000000000..74cec8ebfdf6 --- /dev/null +++ b/examples/using-multiple-model-files/Task.js @@ -0,0 +1,7 @@ +module.exports = function(sequelize, DataTypes) { + return sequelize.define("Task", { + name: DataTypes.STRING, + deadline: DataTypes.DATE, + importance: DataTypes.INTEGER + }) +} \ No newline at end of file diff --git a/examples/using-multiple-model-files/app.js b/examples/using-multiple-model-files/app.js new file mode 100644 index 000000000000..ee6df5b3fc0e --- /dev/null +++ b/examples/using-multiple-model-files/app.js @@ -0,0 +1,25 @@ +var Sequelize = require(__dirname + "/../../index") + , config = require(__dirname + "/../../test/config") + , sequelize = new Sequelize(config.database, config.username, config.password, {logging: false}) + , Project = sequelize.import(__dirname + "/Project") + , Task = sequelize.import(__dirname + "/Task") + +Project.hasMany(Task) +Task.belongsTo(Project) + +sequelize.sync({force: true}).on('success', function() { + Project + .create({ name: 'Sequelize', description: 'A nice MySQL ORM for NodeJS' }) + .on('success', function(project) { + Task.create({ name: 'Choose a nice MySQL connector', deadline: new Date(), importance: 10 }) + .on('success', function(task1) { + Task.create({ name: 'Build the rest', deadline: new Date(), importance: 90 }) + .on('success', function(task2) { + project.setTasks([task1, task2]).on('success', function(tasks) { + console.log(project) + console.log(tasks) + }) + }) + }) + }) +}) \ No newline at end of file diff --git a/lib/sequelize/associations/has-many-double-linked.js b/lib/sequelize/associations/has-many-double-linked.js index ee0fccc3e132..4ff1083a32f3 100644 --- a/lib/sequelize/associations/has-many-double-linked.js +++ b/lib/sequelize/associations/has-many-double-linked.js @@ -86,7 +86,7 @@ HasManyDoubleLinked.prototype.injectSetter = function(emitter, oldAssociations, chainer .run() - .on('success', function() { emitter.emit('success', null) }) + .on('success', function() { emitter.emit('success', newAssociations) }) .on('failure', function(err) { emitter.emit('failure', err) }) }) } \ No newline at end of file diff --git a/lib/sequelize/associations/has-many-single-linked.js b/lib/sequelize/associations/has-many-single-linked.js index 96f213435e1f..c3d10768d33b 100644 --- a/lib/sequelize/associations/has-many-single-linked.js +++ b/lib/sequelize/associations/has-many-single-linked.js @@ -28,7 +28,7 @@ HasManySingleLinked.prototype.injectSetter = function(emitter, oldAssociations, chainer.add(associatedObject.save()) }) chainer - .run() - .on('success', function() { emitter.emit('success', null) }) - .on('failure', function() { emitter.emit('failure', null) }) + .run() + .on('success', function() { emitter.emit('success', newAssociations) }) + .on('failure', function(err) { emitter.emit('failure', err) }) } \ No newline at end of file diff --git a/lib/sequelize/associations/has-many.js b/lib/sequelize/associations/has-many.js index 97119a5edb81..6c1693367976 100644 --- a/lib/sequelize/associations/has-many.js +++ b/lib/sequelize/associations/has-many.js @@ -85,8 +85,8 @@ HasMany.prototype.injectSetter = function(obj) { currentAssociatedObjects.push(newAssociatedObject) instance[self.accessors.set](currentAssociatedObjects) - .on('success', function() { customEventEmitter.emit('success', null) }) - .on('failure', function() { customEventEmitter.emit('failure', null) }) + .on('success', function(instances) { customEventEmitter.emit('success', instances) }) + .on('failure', function(err) { customEventEmitter.emit('failure', err) }) }) }) return customEventEmitter.run()