在 PostgreSQL 的 TypeORM 中定义自定义 SQL 类型

问题描述 投票:0回答:1

我在项目中使用 TypeORM,并且需要定义具有自定义 SQL 类型的列,特别是 PostgreSQL 中的 'tsmultirange'。不幸的是,TypeORM 不提供对设置此类类型的直接支持。是否有任何工具或解决方法可用于实现此目标?

是否有一种方法可以为 TypeORM 中的列指定自定义 SQL 类型:

  • 确保在创建表格时进行考虑。
  • 生成新迁移时进行类型检查。

我将非常感谢有关此事的任何信息。谢谢!

我尝试找到一种设置自定义类型的方法。不支持这样的记录:

@Column({ type: 'tsmultirange' })
node.js postgresql orm nestjs typeorm
1个回答
0
投票

我找到了问题的答案。

如果你想为TypeORM不支持的列设置类型,你需要:

  1. 转到配置并展开“supportedDataTypes”:

    const dataSource = new typeorm.DataSource(defaultOptions);
    dataSource.driver.supportedDataTypes.push('tsmultirange');
    
  2. 在元数据中设置所需的类型,在我的例子中,它是“tsmultirange

    (TypeScript 不允许您直接设置它,因此您必须禁用类型检查):

    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    @Column({ type: 'tsmultirange' })
    ranges: string;
    
  3. 享受新的可能性! =)

© www.soinside.com 2019 - 2024. All rights reserved.