列kid_ages
是Integer[]
。迁移时,我得到以下错误:DataTypeNotSupportedError: Data type "Array" in "home.kid_ages" is not supported by "postgres" database.
个
我尝试在我的列中添加以下选项:
type: 'array'
字符串
以及:
array: true,
default: [],
nullable: false,
@Column({
array: true,
default: [],
nullable: false,
})
kid_ages: string;
型
7条答案
按热度按时间ifsvaxew1#
Docs说,它应该工作:
字符串
这来自示例https://github.com/typeorm/typeorm/blob/master/test/functional/database-schema/column-types/postgres/entity/Post.ts
在代码中,数组属性为无数组。你试过
kid_ages: string[];
吗?toiithl62#
对于那些希望在实体中处理数组或字符串的人,根据@thopaw的答案,可以使用以下代码:
字符串
kmpatx3s3#
如上所述,你可以用下面的代码创建Postgres的数组列:
字符串
如果你需要找一个5岁的孩子,用这个:
型
hsvhsicv4#
我尝试了前面提到的所有解决方案,但都不起作用。最终在TypeORM repo中找到了Github问题的解决方案。
我引用这个解决方案:
这是一个简单的修复,列的类型不应该是数组。更改为这个,它现在工作:
字符串
更好的数组文档会很有用。
来源
ohfgkhjo5#
我的Postgres检查数组包含的解决方案如下:
我将列定义如下:
个字符
“getFindQueryBuilder”:是一个获取共享SelectQueryBuilder以保存代码的函数。
这里重要的部分是我在示例中显示的where子句。
0ve6wy6x6#
这里要注意的重要一点是,即使声明了整数数组,默认值也应该定义为空对象。
字符串
brccelvz7#
对于array,可以使用
simple-array
作为类型