我正在使用sails 和mysql 开始一个项目,但我不知道如何配置它以显示在控制台中执行的查询。
8 回答
mysql 适配器有一个调试变量 LOG_QUERIES 将所有查询发送到控制台。
LOG_QUERIES=true node myFile.js
不幸的是,目前 Sails 无法实现这一点,尽管该功能已被请求。最好的办法是检查数据库提供的日志文件:
Postgres:如何记录 PostgreSQL 查询?
MySQL:在 mysql 中记录所有查询
MongoDB:MongoDB 记录所有查询
如果您在 Mac OS 上使用Postgresql.app进行 Sails.js 开发,您可以启用所有查询日志记录,如下所示:
在新的终端中,编辑~/Library/Application Support/Postgres/var/postgresql.conf
并设置:
logging_collector = on
log_directory = 'pg_log'
log_statement = 'all'
然后重新启动 Postgresql.app(单击菜单栏图标,退出,然后使用 Spotlight 重新启动)。
然后尾随日志:
tail -F ~/Library/Application\ Support/Postgres/var/pg_log/postgresql-2014-10-30_104957.log
您必须找到最新的 postgresql-*log 来跟踪并替换上面的内容。
我的回答可能很晚,但刚刚找到了一个可以帮助人们航行的解决方案 version = 0.12.14
要记录查询,请执行以下操作
导航到 node_modules\sails-mysql\lib\adapter.js
定位“ log ”的变量声明
然后将“ process.env.LOG_QUERIES ”更改为“ sails.config.LOG_QUERIES ”
导航
[帆根]/config/env/[开发或生产].js
添加
LOG_QUERIES = 'true',
注意: - 记得把“”或“”为真
此解决方案适用于帆 >= 1.1。
(sails-mysql
从 v1.0.0 开始)适配器使用将machinepack-mysql
查询记录到debug
. 因此,记录所有本机查询所需要做的就是启用调试标志:
DEBUG=query node app.js
或者将日志添加到 sql 模块。
在 mysql 中是:
working_dir/node_modules/sails-mysql/node_modules/mysql/lib/Connection.js
function **createQuery** (33)
放
LOG_QUERIES = '真'
在风帆升降命令中
只需将其添加到您的数据存储中
调试:[“ComQueryPacket”]
config/datastores.js 应该是这样的
module.exports.datastores = {
default: {
adapter: 'sails-mysql',
user: '*****',
password: "****",
host: '*****',
database: '****',
debug: ["ComQueryPacket"]
}
}