Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js TypeORM无法创建名称中带有点的实体表_Node.js_Sql Server_Nestjs_Typeorm - Fatal编程技术网

Node.js TypeORM无法创建名称中带有点的实体表

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:

使用TestORM连接到已创建的表。需要注意的是,它与我公司的大多数表一样,在名称中都有一个点:dbo.Application

我的实体文件:

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类型是不同的