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