【发布时间】:2019-12-15 12:08:26
【问题描述】:
我目前正在研究两个架构。一个由 TypeOrm 创建和管理,另一个是 xenforo 实例。我只有对 xenforo 架构的查询权限。每个用户都有保存在不同表上的订阅,需要与用户连接。这是通过再次由 xenforo 管理的连接表完成的,所以我只有读取权限。所以我设置了装饰品,一切正常。但是,尽管实体被标记为非同步 TypeOrm 尝试在 xenforo 模式中创建 JoinTable,但由于缺少权限而失败。 这就是我的实体类的样子:
@ObjectType()
@Entity({ schema: 'dev_xf', name: 'xf_user', synchronize: false })
export class User extends BaseEntity {
@Field(type => Int)
@PrimaryGeneratedColumn({ name: 'user_id', unsigned: true })
id: number;
@Field()
@Column()
username: string;
@Column({ name: 'is_moderator' })
isModerator: boolean;
@Column({ name: 'is_admin' })
isAdmin: boolean;
@Field()
@Column({ name: 'is_banned' })
isBanned: boolean;
@OneToOne(type => UserAuthentication)
@JoinColumn({ name: 'user_id' })
authentication: UserAuthentication;
@Field(type => [UserUpgrade])
@ManyToMany(type => UserUpgrade)
@JoinTable({
schema: 'dev_xf',
name: 'xf_user_upgrade_active',
joinColumn: {
name: 'user_id'
},
inverseJoinColumn: {
name: 'user_upgrade_id'
}
})
userUpgrades: Promise<UserUpgrade[]>;
}
@ObjectType()
@Entity({ schema: 'dev_xf', name: 'xf_user_upgrade', synchronize: false })
export class UserUpgrade extends BaseEntity {
@Field(type => Int)
@PrimaryGeneratedColumn({ name: 'user_upgrade_id', unsigned: true })
id: number;
@Field()
@Column()
title: string;
}
是否有解决方法来解决 TypeOrm 尝试创建 JoinTable 尽管两个实体都标记为非同步的问题?
问候阿图尔
【问题讨论】: