使用方式
var Waterline = require('waterline');
var mysqlAdaper = require('sails-mysql');
var mongoAdaper = require('sails-mongo');
var adapters = {
mongo: mongoAdaper,
mysql: mysqlAdaper,
default: 'mongo'
};
var connections = {
mongo: {
adapter: 'mongo',
url: 'mongodb://localhost/waterline-sample'
},
mysql: {
adapter: 'mysql',
url: 'mysql://root:root@localhost/waterline_sample'
}
};
var User = Waterline.Collection.extend({
identity: 'user',
connection: 'mysql',
schema: true,
attributes: {
username: {
type: 'string',
required: true,
},
birthday: {
type: 'date',
after: new Date('1992-10-10'),
},
createTime: {
type: 'date'
}
},
beforeCreate: function(value, cb) {
value.createTime = new Date();
console.log('beforeCreate executed');
return cb();
}
});
var orm = new Waterline();
orm.loadCollection(User);
var config = {
adapters: adapters,
connections: connections
}
orm.initialize(config, function(err, models) {
if(err) {
console.error('orm initialize failed.', err);
}
console.log('models', models);
models.collections.user.create({
username: 'linyz'
}, function(err, user) {
console.log('after user.create,err,user:', err, user);
});
});