问题标签 [knexjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - KNEX 中的别名与 Postgres db
代码knexjs
如下
将被翻译成下面的 SQL
但 PostgreSQL 只识别RESOURCES.ID
,而不是"RESOURCES"."ID"
有效列
这是一个已知的问题?除了使用 SQL raw 之外还有什么建议吗?
node.js - 使用 DB 事务的独立笑话集成测试
在我们的项目中,我们使用 Jest 编写了集成测试,它首先在 DB 中设置数据,运行测试逻辑,然后进行拆解。
因为这些测试可以并行运行,我们必须为每个测试创建具有唯一值的设置(例如,电子邮件必须是唯一的),以便它使用数据库中的唯一键。
我们的想法是模拟 DB 层并在每个测试开始之前为每个测试创建一个新事务,然后再回滚它,这样我们就不必担心独特的测试设置和拆卸。
我能够使用以下代码模拟我们的 DB 层(目前我们使用 knex),但我不知道如何在测试开始时创建事务,将其保存到某个“测试范围变量”,然后访问它并回滚它.
有人知道怎么做吗?
javascript - Knex.js 迁移问题:因`关系“knex_migrations”不存在而失败`
我已经在这个项目上成功使用了一段时间的 knex.js,这是我第一次遇到这个。我删除了所有迁移文件并删除了我的数据库(本地),而是使用 pg_dump 从我的 prod 数据库(不包括 knex_migrations 或 knex_migrations_lock 表)中获取 DDL 和所有数据。
我创建了一个新的迁移脚本并用于knex.raw
粘贴所有 SQL。当我运行迁移脚本时,我得到以下信息:
error: insert into "knex_migrations" ("batch", "migration_time", "name") values ($1, $2, $3) - relation "knex_migrations" does not exist
此迁移脚本正在一个全新的数据库上运行。当我将脚本中的内容更改为基本 DDL 时,它可以正常工作。因此,关于 pg_dump 的结果并尝试使用 knex 运行它会导致它被炸毁。
这也不是大量数据,所以我不太确定哪里出错了 - knex 负责创建迁移表,我确保 DDL 中没有提及 knex 或迁移表.
任何建议将不胜感激 :)
javascript - 为什么我会收到“编译 FIRST 时检测到未定义的绑定。”?
我有一个包含 3 条路线的应用程序:注册、登录和仪表板;仪表板是受保护的路线。
在我的仪表板路线中,我正在创建一个将检索用户信息的发布请求。
在我的服务文件中:
在我的控制器文件中:
我收到此错误:
Undefined binding(s) detected when compiling FIRST. Undefined column(s): [user_id] query: select "user_name" from "users" where "user_id" = ? limit ?
我的表users
有 4 列:user_id、user_name、user_email 和 user_password。
我的服务文件或控制器文件有什么问题?
node.js - 全局 Knex.raw 已弃用,使用 knex.raw (链接一个初始化的 knex 对象)
我正在使用knex
并且pg
我想从 node.js 调用 postgreSQL 函数,最好使用 knex。我用过
但我收到错误:
我还尝试了其他几种黑客方法,但我无法这样做。我的 sql 查询是
有人可以帮我吗?
node.js - 如何在 knexjs 中仅获得一些列值相同的行
我试图从我的表中获取不同的值
例如,在user_technical_skill
我的表中
Technical_skill_id 为 11 的两列
但它不起作用。我再次得到查询中的两列我该如何解决这个问题?
javascript - 如何根据列值检查表中是否有任何记录?
我有user_technical_skill
桌子。此表具有 id、user_id、technical_skill_id 和 Technical_skill_name 列。
当我从该表中获取所有数据时,我得到如下响应:
当我为某些用户发布新的技术技能时 - 例如对于具有 id 的用户, f4484810-28fd-4534-9b90-8f487f16ffaf
我想检查此表中是否存在为他提供的行 - 因此检查该用户是否已经具有该 Technical_skill_id
我怎样才能做到这一点
javascript - 如何对对象属性数组进行排序?或颠倒对象属性
嘿,伙计们遇到了一个问题,需要一些帮助......我在尝试复制这个对象数组时遇到了麻烦......
我得到的结果是这样的
我这样做的方式是这样的:
当我创建一种将成分应用到我的工作中的方法时,它最终会颠倒过来……
我添加了这段代码来将成分推入一个数组,如果没有成分名称,它将返回一个空数组
我的问题是我如何才能在很大程度上扭转结果被打印出来的方式......在 steps 数组中。我可以看到它是按字母顺序排列的,我想让它看起来像上面的示例所示...我正在为此使用 javascript 并使用 knex 构建一个 DB 以及为 DB 使用 SQL ....
同时,如果你能帮助我的代码,如果它为空,我没有像鸡肉一样打印两次成分,如果你看到的话
typescript - Typescript Knex 缺少导出的成员
我最近刚刚使用 Typescript 进入 Knex,尝试Knex.Config
在我的 knexfile.ts 中使用时出现此错误。“node_modules/knex/types/index”。Knex 没有导出的成员“配置”。
以下是我的相关文件的样子:
knexfile.ts:
tsconfig.json:
包.json:
我查看了许多不同的帖子,但似乎没有任何效果。包括确保导入能够import { Knex } from 'knex';
与最新版本的 typescript 和 knex 一起使用。我什至尝试删除 node_modules 文件夹然后运行npm cache clean --force
然后重新安装所有东西,我最终得到了同样的东西。
我还应该注意,如果我转到 node_modules/knex/types/index.d.ts 它已经有大量相同类型的错误“Knex 没有导出的成员'X'”。一些示例是 QueryBuilder、CreateTableBuilder、Transaction 和其他大量示例。
任何想法,将不胜感激。
node.js - 在 knex 中编写查询,我需要在插入查询中使用 where
这是原始查询,它正在工作 -
将此查询转换为 knex 查询,但是当我打印由 knex 构建的查询时,它避免了 where 子句。
knex 准备的查询 -
为列 - 创建了一个索引emp_id, plan_id, and responsibility != 'admin'
,因此我们需要编写 where 子句。