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

You need to sign in or sign up before continuing.
Commit 81250283 by Nicolas Silberman Committed by vvo

UUID datatype mapping for mssql dialect

See #2988 for details
1 parent 6a0912ad
...@@ -5,7 +5,7 @@ var DataTypes = require('../../data-types'); ...@@ -5,7 +5,7 @@ var DataTypes = require('../../data-types');
//drop table Group //drop table Group
DataTypes.BOOLEAN = 'BIT'; DataTypes.BOOLEAN = 'BIT';
DataTypes.NOW = 'GETDATE()'; DataTypes.NOW = 'GETDATE()';
DataTypes.UUID = 'UNIQUEIDENTIFIER'; DataTypes.UUID = 'CHAR(36)';
DataTypes.BLOB = 'VARBINARY(MAX)'; DataTypes.BLOB = 'VARBINARY(MAX)';
DataTypes.STRING._typeName = 'NVARCHAR'; DataTypes.STRING._typeName = 'NVARCHAR';
......
...@@ -621,6 +621,10 @@ module.exports = (function() { ...@@ -621,6 +621,10 @@ module.exports = (function() {
dataType = dataType.replace(/BLOB/, 'VARBINARY(MAX)'); dataType = dataType.replace(/BLOB/, 'VARBINARY(MAX)');
} }
if (Utils._.includes(dataType, 'UUID')) {
dataType = dataType.replace(/UUID/, DataTypes.UUID);
}
return dataType; return dataType;
} }
......
...@@ -727,7 +727,8 @@ describe(Support.getTestDialectTeaser('BelongsToMany'), function() { ...@@ -727,7 +727,8 @@ describe(Support.getTestDialectTeaser('BelongsToMany'), function() {
var Beacons = this.sequelize.define('Beacon', { var Beacons = this.sequelize.define('Beacon', {
id: { id: {
primaryKey: true, primaryKey: true,
type: DataTypes.UUID type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4
}, },
name: { name: {
type: DataTypes.STRING type: DataTypes.STRING
......
...@@ -1485,7 +1485,8 @@ describe(Support.getTestDialectTeaser('HasMany'), function() { ...@@ -1485,7 +1485,8 @@ describe(Support.getTestDialectTeaser('HasMany'), function() {
var Beacons = this.sequelize.define('Beacon', { var Beacons = this.sequelize.define('Beacon', {
id: { id: {
primaryKey: true, primaryKey: true,
type: DataTypes.UUID type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4
}, },
name: { name: {
type: DataTypes.STRING type: DataTypes.STRING
......
...@@ -1754,11 +1754,6 @@ describe(Support.getTestDialectTeaser('Instance'), function() { ...@@ -1754,11 +1754,6 @@ describe(Support.getTestDialectTeaser('Instance'), function() {
var query = { where: { username: 'fnord' }}; var query = { where: { username: 'fnord' }};
self.User.find(query).success(function(user2) { self.User.find(query).success(function(user2) {
if (dialect === 'mssql') {
user1.dataValues.uuidv1 = user1.dataValues.uuidv1.toUpperCase();
user1.dataValues.uuidv4 = user1.dataValues.uuidv4.toUpperCase();
}
expect(user1.equals(user2)).to.be.true; expect(user1.equals(user2)).to.be.true;
done(); done();
}); });
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!