如何禁用Sequelize CLI冗余日志?已配置logging:false无效
屏蔽Sequelize CLI多余日志的解决方案
你遇到的这些日志(加载配置文件提示、CLI版本信息、未找到种子文件提示)属于Sequelize CLI自身的输出,而非ORM的数据库查询日志。因此配置文件里的logging: false仅对ORM查询日志生效,无法屏蔽CLI本身的这些输出。以下是几种可行的解决办法:
1. 执行命令时添加--silent参数
这是最直接的临时解决方案,在执行迁移或种子命令时追加--silent参数,即可屏蔽所有非必要的CLI输出:
- 执行迁移:
sequelize db:migrate --silent - 执行所有种子文件:
sequelize db:seed:all --silent - 查看迁移状态:
sequelize db:migrate:status --silent
2. 全局配置静默模式(修改.sequelizerc)
如果不想每次执行命令都手动加参数,可以在项目根目录的.sequelizerc文件中添加全局静默配置(没有该文件则新建):
const path = require('path'); module.exports = { config: path.resolve('src/infrastructure/config', 'config.js'), 'migrations-path': path.resolve('src', 'migrations'), 'seeders-path': path.resolve('src', 'seeders'), silent: true // 开启全局静默模式 };
配置完成后,所有Sequelize CLI命令都会默认以静默模式运行,不再输出多余日志。
额外提醒
注意你提供的配置文件中dialect设置为mysql,但实际使用的是PostgreSQL,建议将dialect修改为postgres,避免后续出现数据库连接或适配问题。
内容的提问来源于stack exchange,提问作者Tejas Bramhecha
相关产品推荐
相关产品推荐

