首页 > 解决方案 > 为什么当我没有调用时 console.log 会显示 CREATE TABLE 语句

问题描述

代码

require('dotenv/config');
const Sequelize = require('sequelize');

const connection = new Sequelize(process.env.DATABASE, process.env.USER, process.env.PASSWORD, {
    host: process.env.HOST,
    dialect: 'mysql',
    operatorsAliases: false,

    pool: {
        max: 5,
        min: 0,
        acquire: 30000,
        idle: 10000
    },

});

var Article = connection.define('article', {
    title: Sequelize.STRING,
    body: Sequelize.TEXT
});

connection.sync()
    .then(function () {
        // Article.create({
        //     title: 'demo title',
        //     body: 'Blah'
        // });
        Article.findById(1).then(function (article) {
            console.log(article.dataValues);
        });
    });
    // .then(function () { process.exit(); });

控制台日志

PS C:\code\basic-sequelize> npm start

> basic-sequelize@1.0.0 start C:\code\basic-sequelize
> node app.js

Executing (default): CREATE TABLE IF NOT EXISTS `articles` (`id` INTEGER NOT NULL auto_increment , `title` VARCHAR(255), `body` TEXT,
`createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB;
Executing (default): SHOW INDEX FROM `articles`
Executing (default): SELECT `id`, `title`, `body`, `createdAt`, `updatedAt` FROM `articles` AS `article` WHERE `article`.`id` = 1;
{ id: 1,
  title: 'demo title',
  body: 'Blah',
  createdAt: 2018-06-12T17:07:21.000Z,
  updatedAt: 2018-06-12T17:07:21.000Z }

标签: node.jssequelize.js

解决方案


这些是来自 Sequelize 的电话。如果您愿意,可以禁用这些logging: false,

const connection = new Sequelize(process.env.DATABASE, process.env.USER, process.env.PASSWORD, {
    host: process.env.HOST,
    dialect: 'mysql',
    operatorsAliases: false,
    logging: false, // <--- Disable logging
    pool: {
        max: 5,
        min: 0,
        acquire: 30000,
        idle: 10000
    },

});

推荐阅读