【发布时间】:2020-08-30 11:53:35
【问题描述】:
我正在为我的 postgres 数据库使用 sequelize,我有以下两个表:
- 艺术家
- 专辑
它们之前是使用sequelize.define定义的
这是一个 M:N 关系,所以我决定采用以下关联:
Artist.belongsToMany(Albums, { through: 'ArtistAlbums' }
Album.belongsToMany(Artist, { through: 'ArtistAlbums' }
这很好用,但是后来的 ArtistAlbums 表有非常奇怪的列名:
“ArtistArtistId”、“AlbumAlbumId”指的是艺术家(artistId)和专辑(albumId)的主键。 但是,我只想在其中包含“albumId”和“artistId”,但不知道如何告诉 sequelize 做到这一点。我尝试了以下方法:
- 试图在 through 选项中指定一个模型,该模型指定两个这样的键。
问题:我的密钥和生成的密钥都在表中
- 我尝试将
unique: false选项添加到它,但也没有用。 - 我尝试使用“as”和“sourceKey”、“targetKey”以及“uniqueKey”,但都没有帮助。
任何帮助表示赞赏!
编辑 1:
我认为使用 otherKey 我可以将其中一列设置为我想要的名称,但不能将另一列设置为。
【问题讨论】: