13

我正在使用sails 和mysql 开始一个项目,但我不知道如何配置它以显示在控制台中执行的查询。

4

8 回答 8

24

mysql 适配器有一个调试变量 LOG_QUERIES 将所有查询发送到控制台。

LOG_QUERIES=true node myFile.js

于 2014-12-20T18:01:35.593 回答
14

不幸的是,目前 Sails 无法实现这一点,尽管该功能已被请求。最好的办法是检查数据库提供的日志文件:

Postgres:如何记录 PostgreSQL 查询?

MySQL:在 mysql 中记录所有查询

MongoDB:MongoDB 记录所有查询

于 2014-03-14T18:40:53.313 回答
2

如果您在 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 来跟踪并替换上面的内容。

于 2014-10-30T17:59:39.200 回答
2

我的回答可能很晚,但刚刚找到了一个可以帮助人们航行的解决方案 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',

注意: - 记得把“”或“”为

于 2018-08-01T20:43:24.410 回答
2

此解决方案适用于帆 >= 1.1。

sails-mysql从 v1.0.0 开始)适配器使用将machinepack-mysql查询记录到debug. 因此,记录所有本机查询所需要做的就是启用调试标志:

DEBUG=query node app.js
于 2020-08-08T20:45:30.307 回答
1

或者将日志添加到 sql 模块。

在 mysql 中是:

working_dir/node_modules/sails-mysql/node_modules/mysql/lib/Connection.js

function **createQuery** (33)
于 2015-01-05T18:53:50.370 回答
0

LOG_QUERIES = '真'

在风帆升降命令中

于 2018-09-19T09:17:24.407 回答
0

只需将其添加到您的数据存储中

调试:[“ComQueryPacket”]

config/datastores.js 应该是这样的

module.exports.datastores = {
  default: {
    adapter: 'sails-mysql',
    user: '*****',
    password: "****",
    host: '*****',
    database: '****',
    debug: ["ComQueryPacket"]
  }
}
于 2020-08-11T06:32:45.360 回答