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

时间:2019-09-05 19:06:36

标签: node.js sql-server nestjs typeorm

使用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列,其类型为varchar(100)。它和字符串不活跃吗?

为便于记录,数据库列为:

ApplicationID(PK,int,不为null)

ApplicationName(varchar(100),null)

LastUpdate(datetime,null)

再次编辑: 设置同步:连接中的false阻止其删除列。仍然很好奇为什么以前曾经尝试过,但这很适合。

1 个答案:

答案 0 :(得分:0)

为了创建名称中包含不寻常字符的对象,请将名称括在方括号中,如下所示:function hideRows() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var s = ss.getSheetByName("MON"); var v = s.getRange("A:A").getValues(); var today = new Date(); today.setHours(0, 0, 0, 0); for (var i = s.getLastRow(); i > 2; i--) { var t = v[i - 1]; if (t != "") { var u = new Date(t); if (u < today) { s.hideRows(i); } } } } 。但是,在您的情况下,您可能不想这样做,因为[My-Table!]不是表名的一部分,而是表名,正如@ sean-lange正确指出的那样。