我正在使用sails和mysql启动一个项目,我不知道如何配置它以显示在控制台中执行的查询。
答案 0 :(得分:22)
mysql适配器有一个调试变量LOG_QUERIES,用于将所有查询发送到控制台。
LOG_QUERIES=true node myFile.js
答案 1 :(得分:12)
不幸的是,虽然已经请求了该功能,但此时Sails不可能这样做。最好的办法是检查数据库提供的日志文件:
Postgres:How to log PostgreSQL queries?
MySQL:Log all queries in mysql
MongoDB:MongoDB logging all queries
答案 2 :(得分:2)
如果您使用Postgresql.app在Mac OS上进行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 to tail并替换上面的内容。
答案 3 :(得分:2)
我的回答可能很晚了,但是刚刚找到了可以帮助人们的解决方案 帆版本= 0.12.14
要记录需求,请执行以下操作
导航到 node_modules \ sails-mysql \ lib \ adapter.js
找到“ 日志”的变量声明
然后将“ process.env.LOG_QUERIES ”更改为“ sails.config.LOG_QUERIES ””
导航到
[sails root] / config / env / [开发或生产] .js
添加
LOG_QUERIES = 'true',
注意:-请记住在 true
中输入“或”答案 4 :(得分:1)
或者将日志添加到sql模块。
在mysql中这是:
working_dir/node_modules/sails-mysql/node_modules/mysql/lib/Connection.js
function **createQuery** (33)
答案 5 :(得分:1)
此解决方案适用于帆帆> = 1.1。
sails-mysql
(自v1.0.0起)适配器使用machinepack-mysql
驱动程序,该驱动程序将查询记录到debug
。因此,记录所有本机查询所需要做的就是启用调试标志:
DEBUG=query node app.js
答案 6 :(得分:0)
放入
LOG_QUERIES ='真'
扬帆起航命令
答案 7 :(得分:0)
只需将其添加到您的数据存储区
调试:[“ ComQueryPacket”]
config / datastores.js应该看起来像这样
module.exports.datastores = {
default: {
adapter: 'sails-mysql',
user: '*****',
password: "****",
host: '*****',
database: '****',
debug: ["ComQueryPacket"]
}
}