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

Alb*_*dez 2 postgresql node.js knex.js

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

table.specificType('test', 'TEXT[]').defaultTo(['foo', 'bar']);
Run Code Online (Sandbox Code Playgroud)

这是错误信息

数组值必须以“{”或维度信息开头。

错误:格式错误的数组文字:“foo,bar”

也许我遗漏了一些东西,但我无法让它工作,而且我在他们的官方文档中找不到任何有用的东西。

Alb*_*dez 5

我最终通过简单地将数组设置为文字字符串来解决它。

table.specificType('test', 'TEXT[]').defaultTo('{\'\'foo\'\',\'\'bar\'\'}');
Run Code Online (Sandbox Code Playgroud)