eggjs如何查看刚刚执行的sql语句?

发布于 2022-09-07 16:12:43 字数 378 浏览 11 评论 0

比如我用egg-mysql框架提供的

 const results = await this.app.mysql.select('posts', { // 搜索 post 表
  where: { status: 'draft', author: ['author1', 'author2'] }, // WHERE 条件
  columns: ['author', 'title'], // 要查询的表字段
  orders: [['created_at','desc'], ['id','desc']], // 排序方式
  limit: 10, // 返回数据量
  offset: 0, // 数据偏移量
});

我该如何查看这条封装语句所执行的原生sql语句呢??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

兔小萌 2022-09-14 16:12:43

看了文档,没有发现有这个功能。可否换个做法去处理,使用mysql log来调试。

show variables like 'general_log'
set GLOBAL general_log='ON';
SET GLOBAL general_log_file = '/tmp/mysql.log'

不使用的时候记得关掉,否则会大量占用磁盘空间。

北音执念 2022-09-14 16:12:43

配置文件中可直接设置开关

config.mysql = {
    // 单数据库信息配置
    client: {
      // host
      host: 'x x x x',
      // 端口号
      port: '3306',
      // 用户名
      user: 'x x x x',
      // 密码
      password: 'x x x x',
      // 数据库名
      database: 'x x x',
      debug: false //打印sql
    },
    // 是否加载到 app 上,默认开启
    app: true,
    // 是否加载到 agent 上,默认关闭
    agent: false,
  }
请恋爱 2022-09-14 16:12:43

下面这个效果如何?

2-2.png

具体实现方式,可以参考这篇文章:
Egg上层框架CabloyJS是如何输出SQL语句日志的?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文