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

Commit bb472072 by Jason Ku

Fix NULL default value schema describing in sqlite.

* When getting schema for table column with DEFAULT NULL, populate
  returned object with null rather than string literal 'NULL'.
* Fixes #5051
1 parent 838d596c
...@@ -178,7 +178,7 @@ Query.prototype.run = function(sql, parameters) { ...@@ -178,7 +178,7 @@ Query.prototype.run = function(sql, parameters) {
result[_result.name] = { result[_result.name] = {
type: _result.type, type: _result.type,
allowNull: (_result.notnull === 0), allowNull: (_result.notnull === 0),
defaultValue: _result.dflt_value, defaultValue: (_result.dflt_value === 'NULL' ? null : _result.dflt_value),
primaryKey : (_result.pk === 1) primaryKey : (_result.pk === 1)
}; };
......
...@@ -150,6 +150,10 @@ describe(Support.getTestDialectTeaser('QueryInterface'), function() { ...@@ -150,6 +150,10 @@ describe(Support.getTestDialectTeaser('QueryInterface'), function() {
var self = this; var self = this;
var Users = self.sequelize.define('_Users', { var Users = self.sequelize.define('_Users', {
username: DataTypes.STRING, username: DataTypes.STRING,
city: {
type: DataTypes.STRING,
defaultValue: null
},
isAdmin: DataTypes.BOOLEAN, isAdmin: DataTypes.BOOLEAN,
enumVals: DataTypes.ENUM('hello', 'world') enumVals: DataTypes.ENUM('hello', 'world')
}, { freezeTableName: true }); }, { freezeTableName: true });
...@@ -161,6 +165,7 @@ describe(Support.getTestDialectTeaser('QueryInterface'), function() { ...@@ -161,6 +165,7 @@ describe(Support.getTestDialectTeaser('QueryInterface'), function() {
var id = metadata.id; var id = metadata.id;
var username = metadata.username; var username = metadata.username;
var city = metadata.city;
var isAdmin = metadata.isAdmin; var isAdmin = metadata.isAdmin;
var enumVals = metadata.enumVals; var enumVals = metadata.enumVals;
...@@ -179,6 +184,12 @@ describe(Support.getTestDialectTeaser('QueryInterface'), function() { ...@@ -179,6 +184,12 @@ describe(Support.getTestDialectTeaser('QueryInterface'), function() {
expect(username.allowNull).to.be.true; expect(username.allowNull).to.be.true;
expect(username.defaultValue).to.be.null; expect(username.defaultValue).to.be.null;
switch (dialect) {
case 'sqlite':
expect(city.defaultValue).to.be.null;
break;
}
assertVal = 'TINYINT(1)'; assertVal = 'TINYINT(1)';
switch (dialect) { switch (dialect) {
case 'postgres': case 'postgres':
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!