eggjs+sequelize+migration使用记录

  • 时区设置
    默认0时区
    读写都设置:Sequelize reads datetime in UTC only
// /config.${env}.js
config.sequelize = {
    dialect: 'mysql',
    host: '127.0.0.1',
    port: 3306,
    database: 'databasename',
    username: 'root',
    password: '',
    timezone: '+08:00', **// 设置东8区, 单单设置这个的话只有写有效**
    dialectOptions: { // 添加这个后,读取的才是设置的timezone时区时间。
      typeCast(field, next) {
        if (field.type === 'DATETIME' || field.type === 'TIMESTAMP') {
          return new Date(field.string() + 'Z');
        }
        return next();
      },
    },
    pool: { // 连接池
      max: 10,
      min: 1,
      idle: 10000,
    },
    retry: { max: 3 },
  };
  • utf8编码设置
    支持中文
// timestamp-***-table.js
// model/***.js
'use strict';

module.exports = app => {
  const { STRING, INTEGER, DATE, BIGINT, BOOLEAN } = app.Sequelize;

  const Infos = app.model.define('t_name', { //attributes
    id: { type: INTEGER, primaryKey: true, autoIncrement: true },
    created_at: DATE,
    updated_at: DATE,
  }, { //options
    charset: 'utf8',  **// here !!!**
  });

  return Infos;
};
  • 查询与原始查询
    各种条件查询的方法
  • 自动从sequelize model文件生成migration文件

你可能感兴趣的:(Egg.js)