灏天阁

Node/Koa2[21]: Koa2开发环境

· Yin灏

目录结构

└─src
    ├─conf
    │  └─db.js
    └─db
        ├─seq.js
        └─sync.js

拷贝 seq.js 到新项目

src/db/seq.js

const Sequelize = require("sequelize");
const { MYSQL_CONF } = require("../conf/db");
const { isProd, isTest } = require("../utils/env");

const { host, user, password, database } = MYSQL_CONF;

const conf = {
  host,
  dialect: "mysql",
};

if (isTest) {
  // test环境,关闭打印 sql 语句
  conf.logging = () => {};
}

if (isProd) {
  conf.pool = {
    max: 5,
    min: 0,
    idle: 10000,
  };
}

const seq = new Sequelize(database, user, password, conf);

module.exports = seq;

统一处理各种配置

src/conf/db.js

//...
let MYSQL_CONF = {
  host: "localhost",
  user: "root",
  password: "Mysql_2018",
  port: "3306",
  database: "koa2_weibo_db",
  dialect: "mysql",
};
//...
module.exports = {
  //...
  MYSQL_CONF,
};

引入 sync.js

src/db/sync.js

const seq = require("./seq");
// const { User } = require("./model");
// 测试同步
seq
  .authenticate()
  .then(() => {
    console.log("ok");
  })
  .catch(() => {
    console.log("err");
  });
// 执行同步
seq.sync().then(() => {
  process.exit();
});

- Book Lists -