typescript - 如何使用 `sequelize-typescript` 定义表名?

标签 typescript sequelize.js typescript-typings

过去可以在 sequelize-typescript 的 Table 装饰器中定义 tableName 参数,如下所示:

@Table({
  tableName: 'my-custom-tablename'
})
export class Tenants extends Model<Tenants> {
  @IsUUID(4)
  @Default(uuid())
  @PrimaryKey
  @Column
  uuid!: string;

  @CreatedAt
  @Column
  created_at!: Date;

  @UpdatedAt
  @Column
  updated_at!: Date;
}

使用最新版本似乎无法做到这一点,只有两个选项可用: modelNameversion,所以现在,TableName 自动映射到 ModelName (className)

如何传递模型关联的真实表名?

最佳答案

@Table({
  tableName: 'user'
})
export class User extends Model<User> {
  @Column
  firstName!: string;

  @CreatedAt
  @Column
  createdAt!: Date;

  @UpdatedAt
  @Column
  updatedAt!: Date;

}

这对我来说适用于 sequelize-typescript (1.1.0) 和 sequalize (5.21.11) 的最新 npm 版本。

默认情况下,该表将被命名为Users,但使用此代码将其设置为user

关于typescript - 如何使用 `sequelize-typescript` 定义表名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60921950/

相关文章:

typescript - 如何在 :input action using Svelte? 上的输入元素中使用这种形式的内联解构来转换此目标

typescript - 如何将角度 7 降级为角度 6

javascript - 如何将组件从数组传递到路由react-router-dom( typescript )

javascript - Sequelize 自引用 hasMany 不创建别名函数

typescript - 如何在 TypeScript 中创建 ErrorEvent?

typescript - 如何以编程方式安装类型

typescript - 通过 nrwl nx 在 cypress 中使用 .feature 文件

javascript - 错误 : Cannot invoke an expression whose type lacks a call signature

javascript - 如何为数据库实现 sequelize 向下迁移功能?

SQL查询以查找具有特定数量关联的行