首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将模型与sequelize-typescript相关联

将模型与sequelize-typescript相关联
EN

Stack Overflow用户
提问于 2020-09-04 19:10:16
回答 1查看 279关注 0票数 0

我正在尝试创建以下关联:

用户拥有一个帐户用户拥有一个应用程序具有多个成员

我的问题是,当创建模型时,account表获得Application的外键,而member表根本不会被创建。

有人知道我做错了什么吗?下面是我使用的代码

代码语言:javascript
复制
   //index.ts
      const sequelize = new Sequelize(database, username, password, params);
      sequelize.addModels([
        Member,
        Application,
        Account,
        User,
      ]);
      return sequelize;

    //Member.ts
    import {
      Table,
      Column,
      Model,
      BelongsTo,
      ForeignKey,
      DataType,
    } from "sequelize-typescript";
    import { Application } from "./application";
    
    @Table({ tableName: "Members" })
    export class Member extends Model<Member> {
      @ForeignKey(() => Application)
      @Column({ type: DataType.INTEGER })
      applicationId: number;
      @BelongsTo(() => Application)
      application: Application;
    }

// Application.ts
import {
  Table,
  Column,
  Model,
  BelongsTo,
  HasMany,
  ForeignKey,
  DataType,
} from "sequelize-typescript";
import { User } from "./user";
import { Member } from "./member";
@Table({ tableName: "Applications" })
export class Application extends Model<Application> {
  @ForeignKey(() => User)
  @Column({ type: DataType.INTEGER })
  userId: number;
  @HasMany(() => Member)
  members: Member;
  @BelongsTo(() => User)
  user: User;
}

//Account.ts
import {
  Table,
  Column,
  Model,
  BelongsTo,
  ForeignKey,
  DataType,
} from "sequelize-typescript";
import { User } from "./user";
@Table({ tableName: "ZohoCrms" })
export class ZohoCrm extends Model<ZohoCrm> {
  @ForeignKey(() => User)
  @Column({ type: DataType.INTEGER })
  userId: number;

  @BelongsTo(() => User)
  user: User;
}


//user.ts
export class User extend model<User> {
....
  @HasOne(() => ZohoCrm, "userId")
  zohoCrm: ZohoCrm;

  @HasOne(() => Application, "userId")
  application: Application;
}
EN

回答 1

Stack Overflow用户

发布于 2020-09-04 19:25:10

如果您使用的是webpack,则需要在表修饰器中添加tableName和modelName

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63740015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档