定義模型

在 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 上快速示例