gpt4 book ai didi

javascript - TypeScript 新手,尝试使用 Sequelize

转载 作者:行者123 更新时间:2023-11-28 03:19:19 24 4
gpt4 key购买 nike

我是 TypeScript 的新手,我正在尝试使用 Sequelize 和 Sequelize Auto 生成数据库模型,然后使用它们进行查询。

到目前为止,模型已经生成,但是当我尝试实际使用它们时,我收到错误。

/* jshint indent: 2 */
// tslint:disable
import * as sequelize from 'sequelize';
import {DataTypes} from 'sequelize';
import {settings_user_tblInstance, settings_user_tblAttribute} from './db';

module.exports = function(sequelize: sequelize.Sequelize, DataTypes: DataTypes) {
return sequelize.define<settings_user_tblInstance, settings_user_tblAttribute>('settings_user_tbl', {
id: {
type: DataTypes.BIGINT,
allowNull: false,
primaryKey: true,
autoIncrement: true
},
user_id: {
type: DataTypes.BIGINT,
allowNull: true,
references: {
model: 'user_tbl',
key: 'id'
},
unique: true
},
notification_email_enabled: {
type: DataTypes.BOOLEAN,
allowNull: false,
defaultValue: true
}
}, {
tableName: 'settings_user_tbl'
});
};

但是,当尝试使用此模型时,我收到以下错误:

   return sequelize.define<settings_user_tblInstance, settings_user_tblAttribute>('settings_user_tbl', {


src/models/tag_group_tbl.ts:7:70 - error TS2709: Cannot use namespace 'DataTypes' as a type.

module.exports = function(sequelize: sequelize.Sequelize, DataTypes: DataTypes) {

我对这两个错误都感到非常困惑 - 看起来 DataTypes 定义正确吗?这就是 Sequelize Auto 生成文件的方式 - 它这样做是否错误?

为什么它只需要 0 个参数而不是 2 个?

这可能是版本不兼容的问题吗?

很抱歉问了这个毫 headless 绪的问题 - 我刚刚开始使用 TypeScript,但我并不完全确定这里发生了什么。

最佳答案

有人有完全相同的issue使用 sequelize-auto 存储库,最终得到 forking仓库,他最近似乎非常活跃:值得尝试一下他的版本,看看它是否解决了问题,他实际上在原始仓库中关闭了该问题😃

但我建议您尝试切换到 TypeormTypeorm-model-generator因为它从第一天起就是面向 Typescript 的。

关于javascript - TypeScript 新手,尝试使用 Sequelize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59314899/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com