Sequelize.js 日志记录可使迁移续集

Sequelize.js 日志记录可使迁移续集,sequelize.js,Sequelize.js,刚刚开始使用Sequelize并尝试让迁移正常工作,希望了解迁移在DB上实际运行的是什么SQL 我发现了一个建议如何通过管道将日志记录传输到调试模块的方法,但是我应该将“选项”放在哪里呢 options对象是Sequelize构造函数(docs)的第四个参数选项。日志记录默认为控制台。日志。我还没有太多地使用迁移,所以我不确定是否使用了这个选项,但它应该很容易测试 作为一个简要说明,您通常会在这个对象中传递许多其他选项来进行Sequelize,而不仅仅是一个日志函数(参见一个示例选项对象) 我不

刚刚开始使用Sequelize并尝试让迁移正常工作,希望了解迁移在DB上实际运行的是什么SQL

我发现了一个建议如何通过管道将日志记录传输到调试模块的方法,但是我应该将“选项”放在哪里呢


options
对象是Sequelize构造函数(docs)的第四个参数<代码>选项。日志记录默认为
控制台。日志
。我还没有太多地使用迁移,所以我不确定是否使用了这个选项,但它应该很容易测试

作为一个简要说明,您通常会在这个对象中传递许多其他选项来进行Sequelize,而不仅仅是一个日志函数(参见一个示例选项对象)


我不熟悉它,但是Sequelize文档还建议将其作为一个库,用于执行和记录迁移任务。

Sequelize CLI将
config/config.js
中定义的配置传递给Sequelize构造函数。运行
sequelize db:migrate

'use strict';

module.exports = {
    development: {
        host: process.env.MSSQL_SERVER || 'localhost',
        username: process.env.MSSQL_USER || 'MSSQL_USER',
        password: process.env.MSSQL_USER_PASS || 'MSSQL_PASS',
        database: process.env.MSSQL_DB || 'DATABASE_NAME',
        dialect: process.env.DIALECT || 'mssql',
        logging: console.log
    }
};

有几个地方可以为sequelize添加此功能。如果要查看sequelize CLI的所有日志记录,请在
.sequelizerc
中查看(请参阅)。如果您只想在向上/向下迁移中查看特定查询,那么可以将它作为的一部分传递给每个queryInterface调用

例如,对于
createTable
,您可以执行以下操作:

queryInterface.createTable('myNewTable', {
        'my_column': Sequelize.STRING
    }, {
        logging: console.log
});
在配置连接数据库(文件database.json)中启用“日志记录”:true

范例

{
    "username": "postgres",
    "password": "postgres",
    "database": "agencias",
    "host": "127.0.0.1",
    "dialect": "postgres",
    "timezone": "America/La_Paz",

    "migrationStorage": "sequelize",
    "migrationStorageTableName": "sequelize_migration",
    "logging":true,
    "pool": {
        "max": 15,
        "min": 0,
        "idle": 10000
    }
}
在项目中执行

sequelize db:migrate --migrations-path src/migrations --config data_base.json

谢谢,但问题是,在运行迁移时,是命令行工具构造了Sequalize对象(不是我的代码)。从CLI的代码划分来看,在使用CLI时,Sequelize日志应该初始化为console.log。如果不是,那么在配置中设置logging:true应该以这种方式初始化Sequelize对象。我基于Sequelize文档,如果这不起作用,那么您能在这里用options变量()的值进行注释吗?
sequelize db:migrate --migrations-path src/migrations --config data_base.json