准备数据库:redmine
工程结构:
config .js
var config = {
database: 'redmine', // 使用哪个数据库
username: 'redmine', // 用户名
password: '123456', // 口令
host: 'localhost', // 主机名
port: 3306 // 端口号,MySQL默认3306
};
module.exports = config;
app.js
'use strict';
const Sequelize = require('sequelize');
const config = require('./config');
const Op = Sequelize.Op;
var sequelize = new Sequelize(config.database, config.username, config.password, {
host: config.host,
dialect: 'mysql',
pool: {
max: 5,
min: 0,
idle: 30000,
operatorsAliases: {
$and: Op.and,
$or: Op.or,
$eq: Op.eq,
$gt: Op.gt,
$lt: Op.lt,
$lte: Op.lte,
$like: Op.like
}
}
});
var Pet = sequelize.define('pet', {
id: {
type: Sequelize.STRING(50),
primaryKey: true
},
name: Sequelize.STRING(100),
gender: Sequelize.BOOLEAN,
birth: Sequelize.STRING(10),
createdAt: Sequelize.BIGINT,
updatedAt: Sequelize.BIGINT,
version: Sequelize.BIGINT
}, {
timestamps: false
});
var now = Date.now();
Pet.create({
id: 'g-' + now,
name: 'Gaffey',
gender: false,
birth: '2007-07-07',
createdAt: now,
updatedAt: now,
version: 0
}).then(function (p) {
console.log('created.' + JSON.stringify(p));
}).catch(function (err) {
console.log('failed: ' + err);
});
(async () => {
var pets = await Pet.findAll({
where: {
name: 'Gaffey'
}
});
console.log(`find ${pets.length} pets:`);
for (let p of pets) {
console.log(JSON.stringify(p));
}
})()
调试运行: