定义模型

在 sequelize 中有两种定义模型的方法; 与 sequelize.define(...),或 sequelize.import(...)。这两个函数都返回一个 sequelize 模型对象。

1. sequelize.define(modelName,attributes,[options])

如果你想在一个文件中定义所有模型,或者想要对模型定义进行额外控制,则可以采用这种方法。

/* Initialize Sequelize */
const config = {
    username: "database username",
    password: "database password",
    database: "database name",
    host: "database's host URL",
    dialect: "mysql" // Other options are postgres, sqlite, mariadb and mssql.
}
var Sequelize = require("sequelize");
var sequelize = new Sequelize(config);

/* Define Models */
sequelize.define("MyModel", {
    name: Sequelize.STRING,
    comment: Sequelize.TEXT,
    date: {
        type: Sequelize.DATE,
        allowNull: false
    }
});

有关文档和更多示例,请查看 doclets 文档sequelize.com 的文档

2. sequelize.import(路径)

如果你的模型定义被分解为每个文件的文件,那么 import 就是你的朋友。在初始化 Sequelize 的文件中,你需要像这样调用 import:

/* Initialize Sequelize */
// Check previous code snippet for initialization

/* Define Models */
sequelize.import("./models/my_model.js"); // The path could be relative or absolute

然后在你的模型定义文件中,你的代码将如下所示:

module.exports = function(sequelize, DataTypes) {
    return sequelize.define("MyModel", {
        name: DataTypes.STRING,
        comment: DataTypes.TEXT,
        date: {
            type: DataTypes.DATE,
            allowNull: false
        }
    });
};

有关如何使用 import 的更多信息,请查看 Sequelize 在 GitHub 上快速示例