为什么当我使用 sequelize 生成模型时,它的结构与包含 class 而不是 const 的其他模型不同?
Why when I generate a model with sequelize has a different structure than others that includes a class instead of a const?
我是 sequelize 的新手,我看过很多关于如何使用 sequelize 创建模型的教程,但当我这样做时,这是创建它的结构。
'use strict';
const {
Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
class User extends Model {
/**
* Helper method for defining associations.
* This method is not a part of Sequelize lifecycle.
* The `models/index` file will call this method automatically.
*/
static associate(models) {
// define association here
}
};
Users.init({
nickname: DataTypes.STRING,
password: DataTypes.STRING
}, {
sequelize,
modelName: 'Users',
});
return User;
};
但我看到的另一种结构是“最流行”的。
'use strict';
module.exports = (sequelize, DataTypes) => {
const User = sequelize.define('User', {
nickname: DataTypes.STRING,
password: DataTypes.STRING
},{
underscored: true
});
return User;
};
如何在控制台中使用“sequelize model:generate”生成具有第二个结构的模型?
感谢您的宝贵时间。
根据官方documentation,这两种定义模型的方法是等价的。 define
更受欢迎,因为它是一种比 classes
更老的方法,仅此而已。我建议使用较新的,因为我认为它会有更长的生命周期和支持。
我是 sequelize 的新手,我看过很多关于如何使用 sequelize 创建模型的教程,但当我这样做时,这是创建它的结构。
'use strict';
const {
Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
class User extends Model {
/**
* Helper method for defining associations.
* This method is not a part of Sequelize lifecycle.
* The `models/index` file will call this method automatically.
*/
static associate(models) {
// define association here
}
};
Users.init({
nickname: DataTypes.STRING,
password: DataTypes.STRING
}, {
sequelize,
modelName: 'Users',
});
return User;
};
但我看到的另一种结构是“最流行”的。
'use strict';
module.exports = (sequelize, DataTypes) => {
const User = sequelize.define('User', {
nickname: DataTypes.STRING,
password: DataTypes.STRING
},{
underscored: true
});
return User;
};
如何在控制台中使用“sequelize model:generate”生成具有第二个结构的模型?
感谢您的宝贵时间。
根据官方documentation,这两种定义模型的方法是等价的。 define
更受欢迎,因为它是一种比 classes
更老的方法,仅此而已。我建议使用较新的,因为我认为它会有更长的生命周期和支持。