Sql typerorm减去日期00:00:00的1天(可能是一个乏味的bug)

Sql typerorm减去日期00:00:00的1天(可能是一个乏味的bug),sql,node.js,sql-server,typeorm,tedious,Sql,Node.js,Sql Server,Typeorm,Tedious,我使用的是一个旧式SQL Server数据库,它存储的日期不是UTC格式。我正在尝试使用TypeORM插入一个smalldatetime 这是TypeORM执行的操作: INSERT INTO foo(date) VALUES (@0) -- PARAMS: SELECT * FROM @OutputTable -- PARAMETERS: [{"value":"2020-11-09T23:00:00.000Z","type":&quo

我使用的是一个旧式SQL Server数据库,它存储的日期不是UTC格式。我正在尝试使用TypeORM插入一个
smalldatetime

这是TypeORM执行的操作:

INSERT INTO foo(date) VALUES (@0)
-- PARAMS: SELECT * FROM @OutputTable -- PARAMETERS: [{"value":"2020-11-09T23:00:00.000Z","type":"smalldatetime","params":[]}]
这应该在DB中保存“2020-11-10 00:00:00”(GMT+1,服务器也是GMT+1),但出于某种原因,正在保存“2020-11-09 00:00:00”。我认为当TypeORM尝试插入的结果日期是00:00:00时,它不会改变日期。我试过使用其他时间戳,只要大于或等于00:01:00,它就可以工作

  • 操作系统:Windows
  • Node.js:v12.16.2
  • 类型脚本:v4.0.3
  • 类型:v0.2.28
更新:

根据这条线索:它可能与乏味的版本有关。现在的问题是,当我试图更新
mssql 7.0.0-alpha.1
版本时(为了更新
冗长的
),typeorm无法连接:

const serverSql: SqlServerConnectionOptions = {
        name: process.env.DB_SQL_DEFAULT_NAME,
        entities: [`${__dirname}/../../schemas/**/*.js`],
        type: 'mssql',
        host: process.env.DB_SQL_DEFAULT_HOST,
        port: Number(process.env.DB_SQL_DEFAULT_PORT),
        username: process.env.DB_SQL_DEFAULT_USER,
        password: process.env.DB_SQL_DEFAULT_PASSWORD,
        requestTimeout: 30000,
        options: {
          connectionIsolationLevel: 'READ_UNCOMMITTED',
          isolation: 'READ_UNCOMMITTED',
          enableArithAbort: false
        },
        pool: {
          acquireTimeoutMillis: 30000
        },
        logging: 'all'
      };
      await createConnections([serverSql]);

引发此错误:
连接错误:“config.options.connectionIsolationLevel”属性的类型必须为number。接收到的类型字符串(READ_UNCOMMITTED)

smalldatetime
没有时区上下文。如果您将其传递给
'2020-11-09T23:00:00.000Z'
它将被存储为
2020-11-09T23:00
;时区信息将被忽略,它不会转换为实例的本地时区。但是TypeForm会将其转换为本地时区,因此在GMT+1中,尽管它表示
2020-11-09T23:00:00.000Z
它插入
2020-11-10T00:00
(或者应该是,目前它插入
2020-11-09T00:00