我正在使用模块seqeulize-typescript的模型定义文档为express API定义一个typescript模型。
连续 typescript
这是一个正在构建的新API,所以它是目前唯一的模型。当启动服务器时,我遇到了一个TypeError:在服务器启动期间,无法将模型中第一列的undefined或null转换为object。
[nodemon] 2.0.22
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node dist/app.js`
Here is where the error is hit.
下面是模型(我排除了一些列的,因为它是相同的概念。
import { Table, Model, Column, DataType } from 'sequelize-typescript';
@Table({
timestamps: false,
tableName:"BranchNew",
freezeTableName: true,
modelName:"BranchNew",
schema: 'hr',
})
export class Branch extends Model {
@Column({
type: DataType.INTEGER,
allowNull: true,
})
ContractorCode!: number;
@Column({
type: DataType.INTEGER,
autoIncrement: false,
allowNull: false,
primaryKey: true,
})
BranchNumber!: number;
@Column({
type: DataType.STRING,
allowNull: false,
})
BranchName!: string;
@Column({
type: DataType.DATE,
allowNull: true,
})
DateAcquired!: Date;
@Column({
type: DataType.STRING,
allowNull: true,
})
Telephone!: string;
...
}
错误显示在此行生成的dist文件夹中。(我已经把它分成几行,以便于阅读)。
__esDecorate(null, null, _ContractorCode_decorators,
{ kind: "field", name: "ContractorCode", static: false, private: false,
access: { has: obj => "ContractorCode" in obj,
get: obj => obj.ContractorCode,
set: (obj, value) => { obj.ContractorCode = value; } } },
_ContractorCode_initializers, _instanceExtraInitializers);
所有其他列都在后面显示,并带有此(null,null,...)开始。我假设我的模型没有正确定义,但它看起来与上面提到的文档相匹配。
1条答案
按热度按时间3htmauhk1#
我回去重读了文档,在安装步骤下面错过了一条消息。现在很清楚,我已经回去了。问题中列出的文档显示了下面的安装。
你的tsconfig。JSON需要以下标志:
因此,如果遇到同样的问题,取消注解这两行,它应该构建。错误行不再出现在[model]中。dist文件夹的js。