mus*_*ons 6 javascript orm node.js sequelize.js sequelize-cli
在2016 年使用 sequelize ORM 的代码中,我看到使用此模式定义的模型类型:
module.exports = function(sequelize, DataTypes) {
const Tasks = sequelize.define("Tasks", { id: {
type: DataTypes.INTEGER,
[ ...etc.]
Run Code Online (Sandbox Code Playgroud)
但是,在当前的续集文档中,您会看到最突出的记录:(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.]
Run Code Online (Sandbox Code Playgroud)
或者使用Sequelize
作为参数会以某种方式使这失败?
它们中的第二个参数只是sequelize
包本身您可以使用您想要使用的任何一个
const Sequelize = require('sequelize');
Run Code Online (Sandbox Code Playgroud)
您会注意到在模型的 index.js 中(如果您按照建议进行设置),您执行了如下所示的操作,其中您sequelize
作为第二个参数传入。
const model = require(path.join(__dirname, file))(sequelize, Sequelize);
Run Code Online (Sandbox Code Playgroud)
这公开了数据类型。你怎么称呼它并不重要。例如,我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
}
Run Code Online (Sandbox Code Playgroud)
与迁移相同。
归档时间: |
|
查看次数: |
1268 次 |
最近记录: |