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

Commit 1175b39e by Dan Kohn

Fixes #1344 honor unique false

1 parent cec519bf
Showing with 39 additions and 1 deletions
...@@ -121,7 +121,7 @@ module.exports = (function() { ...@@ -121,7 +121,7 @@ module.exports = (function() {
self.options.uniqueKeys = {} self.options.uniqueKeys = {}
Utils._.each(this.rawAttributes, function(columnValues, columnName) { Utils._.each(this.rawAttributes, function(columnValues, columnName) {
if (columnValues.hasOwnProperty('unique') && columnValues.unique !== true) { if (columnValues.hasOwnProperty('unique') && columnValues.unique !== true && columnValues.unique !== false) {
var idxName = columnValues.unique var idxName = columnValues.unique
if (typeof columnValues.unique === "object") { if (typeof columnValues.unique === "object") {
idxName = columnValues.unique.name idxName = columnValues.unique.name
......
...@@ -1968,4 +1968,42 @@ describe(Support.getTestDialectTeaser("DAOFactory"), function () { ...@@ -1968,4 +1968,42 @@ describe(Support.getTestDialectTeaser("DAOFactory"), function () {
}) })
describe('Unique', function() {
it("should set unique when unique is true", function(done) {
var self = this
var uniqueTrue = self.sequelize.define('uniqueTrue', {
str: { type: Sequelize.STRING, unique: true }
})
uniqueTrue.sync({force: true}).on('sql', function(s) {
expect(s).to.match(/UNIQUE/)
done()
})
})
it("should not set unique when unique is false", function(done) {
var self = this
var uniqueFalse = self.sequelize.define('uniqueFalse', {
str: { type: Sequelize.STRING, unique: false }
})
uniqueFalse.sync({force: true}).on('sql', function(s) {
expect(s).not.to.match(/UNIQUE/)
done()
})
})
it("should not set unique when unique is unset", function(done) {
var self = this
var uniqueUnset = self.sequelize.define('uniqueUnset', {
str: { type: Sequelize.STRING }
})
uniqueUnset.sync({force: true}).on('sql', function(s) {
expect(s).not.to.match(/UNIQUE/)
done()
})
})
})
}) })
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!