node.js - Knex 迁移中特定类型文本数组的默认值不起作用

标签 node.js postgresql knex.js

我正在使用 Knex (v0.19.5) 和 PostgreSQL (v10.1) 创建数据库迁移,但是当我尝试将默认值设置为 TEXT 数组列时,它给了我一个 格式错误的数组文字错误。

table.specificType('test', 'TEXT[]').defaultTo(['foo', 'bar']);

这是错误消息

Array value must start with "{" or dimension information.

error: malformed array literal: "foo,bar"

也许我错过了一些东西,但我无法让它工作,而且我在他们的 official docs 中找不到任何有用的东西。 .

最佳答案

我最终通过简单地将数组设置为文字字符串解决了这个问题。

table.specificType('test', 'TEXT[]').defaultTo('{\'\'foo\'\',\'\'bar\'\'}');

关于node.js - Knex 迁移中特定类型文本数组的默认值不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58338974/

相关文章:

javascript - Sequelize 是否可以跟踪查询信息或具有 setGlobalTraceFunction 就像 mongoose 一样?

sql - 如何简单地加入 Rails 中的 n 对 n 关联?

node.js - knex postgres 返回数字/十进制值的字符串

node.js - 无法使用 Puppeteer 登录

node.js - ES6 : 'this' is undefined in inherited class

node.js - 从同一个客户端取消之前的 MongoDB 操作

database - Postgres 声称驱动器上的空间不足,可用空间充足

ruby - 使用 find_by_sql 复制包含和连接行为(单个查询建立关联)

sinon - 如何在Hapi/Lab测试中使用Sinon来消除knex调用?

javascript - 如何修复 router.get 中相互依赖的两个 Knex MySQL 查询