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

Commit 2f92e212 by Gabe Gorelick Committed by Sushant

fix(mysql): boolean TINYINT support (#10660)

1 parent de39cff8
......@@ -147,7 +147,7 @@ NUMBER.prototype.validate = function(value) {
return true;
};
NUMBER.prototype._stringify = function _stringify(number) {
if (typeof number === 'number' || number === null || number === undefined) {
if (typeof number === 'number' || typeof number === 'boolean' || number === null || number === undefined) {
return number;
}
......
......@@ -228,6 +228,43 @@ describe(Support.getTestDialectTeaser('DataTypes'), () => {
});
});
if (dialect === 'mysql') {
it('should handle TINYINT booleans', function() {
const User = this.sequelize.define('user', {
id: { type: Sequelize.TINYINT, primaryKey: true },
isRegistered: Sequelize.TINYINT
});
return User.sync({ force: true }).then(() => {
return User.create({ id: 1, isRegistered: true });
}).then(registeredUser => {
expect(registeredUser.isRegistered).to.equal(true);
return User.findOne({
where: {
id: 1,
isRegistered: true
}
});
}).then(registeredUser => {
expect(registeredUser).to.be.ok;
expect(registeredUser.isRegistered).to.equal(1);
return User.create({ id: 2, isRegistered: false });
}).then(unregisteredUser => {
expect(unregisteredUser.isRegistered).to.equal(false);
return User.findOne({
where: {
id: 2,
isRegistered: false
}
});
}).then(unregisteredUser => {
expect(unregisteredUser).to.be.ok;
expect(unregisteredUser.isRegistered).to.equal(0);
});
});
}
it('calls parse and stringify for DOUBLE', () => {
const Type = new Sequelize.DOUBLE();
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!