Node.js TypeORM无法创建名称中带有点的实体表
使用TestORM连接到已创建的表。需要注意的是,它与我公司的大多数表一样,在名称中都有一个点:dbo.Application 我的实体文件:Node.js TypeORM无法创建名称中带有点的实体表,node.js,sql-server,nestjs,typeorm,Node.js,Sql Server,Nestjs,Typeorm,使用TestORM连接到已创建的表。需要注意的是,它与我公司的大多数表一样,在名称中都有一个点:dbo.Application 我的实体文件: import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm' @Entity({name: 'Application'}) // fixed export class Application { @PrimaryGeneratedColumn() ApplicationID:
import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm'
@Entity({name: 'Application'}) // fixed
export class Application {
@PrimaryGeneratedColumn()
ApplicationID: number;
@Column()
ApplicationName: string;
@Column()
LastUpdate: number;
}
编辑
好吧,我明白了。没有{name:'Application'}它会尝试创建表'Application',而不是'Application'
然而,我有一个新的错误,我无法找出它。看起来TestORM正在尝试删除ApplicationName列,类型为varchar100。做它而不是摇摆
对于记录,DB列为:
ApplicationIDPK,int,不为null
ApplicationNamevarchar100,null
LastUpdatedatetime,null
再次编辑:
在连接中设置synchronize:false可防止其删除列。仍然很好奇为什么它以前尝试过,但这是适合生活的。为了创建名称中包含不寻常字符的对象,请将名称括在方括号中,如:[My Table!]。然而,在您的情况下,您可能不想这样做,因为dbo不是表名的一部分,而是模式名,正如@sean lange正确指出的那样。dbo.Application不是表名。这是架构和表名。否则,您可能需要编写类似select*from dbo.[dbo.Application]这样的查询,如果您认真使用dbo的话。在您的对象名称中,出现了可怕的错误,因为这太可怕了。奇怪的是,为什么每次我启动它时它都试图创建一个表。错误现在不同了。将更新问题。干杯。明白了。我确实有另一个错误,尽管[问题更新],我猜b/c类型是不同的