我试图在运行时动态创建Typeorm实体,然后在创建它时将它们显式添加到连接中。我在弄清楚如何使用属性装饰器时遇到了麻烦。
作为控件,以声明方式创建实体可以很好地工作:
@Entity('table_name')
export class NewEntity extends BaseEntity {
@PrimaryGeneratedColumn()
public id: number;
}
然后,类装饰器可以正常运行:
class NewEntity {
@PrimaryGeneratedColumn()
public id: number;
}
Entity('table_name')(NewEntity);
但是将PrimaryGeneratedColumn()
用作常规函数:
class NewEntity {
public id: number;
}
PrimaryGeneratedColumn()(NewEntity, 'id');
Entity('table_name')(NewEntity);
给出:Entity "NewEntity" does not have a primary column. Primary column is required to have in all your entities. Use @PrimaryColumn decorator to add a primary column to your entity.
,当创建了类型连接时。
我知道这是一个奇怪的用例!但是,如果有人知道如何做到这一点,将不胜感激! :)