在code from 2016 using sequelize ORM中,我看到使用此模式定义的模型类型:
module.exports = function(sequelize, DataTypes) {
const Tasks = sequelize.define("Tasks", { id: {
type: DataTypes.INTEGER,
[ ...etc.]然而,在当前的sequelize文档中,您可以看到most prominently documented:Sequelize.INTEGER (或其他类型,而不是整数)。同时,在当前的文档中,我还发现DataTypes仍然是documented/used:here。
在同一页面上使用的是Sequelize.INTEGER ...,这是只用于延迟还是什么?
我试着找出这是不是随着时间的推移而改变的,但我找不到它。
当Sequelize.INTEGER为“当前解决方案”时,我是否可以将上面的代码更改为:
module.exports = function(sequelize, Sequelize) {
const Tasks = sequelize.define("Tasks", { id: {
type: Sequelize.INTEGER,
[ ...etc.]或者,使用Sequelize作为参数会以某种方式使此失败吗?
发布于 2020-10-07 18:39:09
它们中的第二个参数只是sequelize包本身,您可以使用它们中的任何一个,这是您想要使用的
const Sequelize = require('sequelize');您会注意到,在模型的index.js中(如果您按照建议进行了设置),您执行了类似于下面的操作,其中您传入了sequelize作为第二个参数。
const model = require(path.join(__dirname, file))(sequelize, Sequelize);这将公开数据类型。你叫它什么并不重要。例如,我将其命名为abc,在下面的代码中,您可以使用任何名称
module.exports = (sequelize, abc) => {
const Driver = sequelize.define('Driver', {
firstName: {
type: abc.STRING(),
allowNull: false
},
last_name: {
type: abc.TEXT,
allowNull: true
},
email: {
type: abc.TEXT,
allowNull: false
},
password: {
type: abc.TEXT,
allowNull: true
}迁移也是如此。
https://stackoverflow.com/questions/45235521
复制相似问题