定义模型
在 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 上的快速示例 。