16

これは恥ずかしい初心者の質問ですが、Sequelizejsについての心配を解決したいと思います。ソースを整理するために、各モデルを独自のファイルに分割したいと思います。そのためには、各ファイルの先頭に配置する必要がrequire("sequelize')あります。var sequelize = new Sequelize('DB-Name', 'DB-User', 'DB-Password');

私の質問は、モデルごとにデータベースへの新しい接続を作成するのでしょうか、それとも同じ接続を再利用し続けるのでしょうか?「ファイルごとに1つのモデル」という概念全体を放棄して、マスターModels.jsファイルを作成する必要がありますか?

私はNodeに非常に慣れていませんが、まだその規則に慣れています。助けてくれてありがとう!

4

2 に答える 2

17

すべてのモデルは、エクスポートする独自のモジュールとして定義されます。

module.exports = function(sequelize, DataTypes){
    return sequelize.define('Brand', {
        name: {
            type: DataTypes.STRING,
            unique: true,
            allowNull: false },
        description: {
            type: DataTypes.TEXT,
            allowNull: false },
        status: {
            type: DataTypes.INTEGER,
            unique: false,
            allowNull: true }
    })
};

次に、Sequelize を初期化するときにモジュールをインポートするだけです (ここで多くのモデルをインポートできます)。

var Sequelize = require("sequelize");
var config = require("../../config/config.js");
var sequelize = new Sequelize(config.database, config.username, config.password,
    { dialect: config.dialect, host: config.host, port: config.port,
      omitNull: true, logging: false });
var Brand = require("./Brand").Brand;

モジュールの詳細については、 http://nodejs.org/api/modules.htmで読むことができますが、上記の例から始める必要があります。

于 2013-02-15T11:30:25.570 に答える