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

Commit fc77eba0 by Sascha Depold

Merge branch 'pg-array' of git://github.com/clkao/sequelize into clkao-pg-array

2 parents 582de025 bda00ef6
...@@ -7,5 +7,6 @@ module.exports = { ...@@ -7,5 +7,6 @@ module.exports = {
BOOLEAN: 'TINYINT(1)', BOOLEAN: 'TINYINT(1)',
FLOAT: 'FLOAT', FLOAT: 'FLOAT',
NOW: 'NOW', NOW: 'NOW',
ENUM: 'ENUM' ENUM: 'ENUM',
ARRAY: function(type) { return type + '[]' }
} }
...@@ -25,6 +25,10 @@ function pgEscape(val) { ...@@ -25,6 +25,10 @@ function pgEscape(val) {
switch (typeof val) { switch (typeof val) {
case 'boolean': return (val) ? 'true' : 'false'; case 'boolean': return (val) ? 'true' : 'false';
case 'number': return val+''; case 'number': return val+'';
case 'object':
if (Array.isArray(val)) {
return 'ARRAY['+ val.map(function(it) { return pgEscape(it) }).join(',') +']';
}
} }
if (val instanceof Date) { if (val instanceof Date) {
......
if(typeof require === 'function') {
const buster = require("buster")
, Helpers = require('../buster-helpers')
, dialect = Helpers.getTestDialect()
}
buster.spec.expose()
if (dialect.match(/^postgres/)) {
describe('[POSTGRES] DAO', function() {
before(function(done) {
var self = this
console.log("to init");
Helpers.initTests({
dialect: dialect,
beforeComplete: function(sequelize, DataTypes) {
self.sequelize = sequelize
self.User = sequelize.define('User', {
username: DataTypes.STRING,
email: {type: DataTypes.ARRAY(DataTypes.TEXT)}
})
},
onComplete: function() {
self.User.sync({ force: true }).success(done)
}
})
})
describe('model', function() {
it("create handles array correctly", function(done) {
var self = this
this.User
.create({ username: 'user', email: ['foo@bar.com', 'bar@baz.com'] })
.success(function(oldUser) {
expect(oldUser.email).toEqual(['foo@bar.com', 'bar@baz.com']);
done();
})
.error(function(err) {
console.log(err)
})
})
})
})
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!