Node.js Definizione dei modelli


Esempio

Ci sono due modi per definire i modelli in sequelize; con sequelize.define(...) o sequelize.import(...) . Entrambe le funzioni restituiscono un oggetto modello sequelizzato.

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

Questa è la strada da percorrere se si desidera definire tutti i modelli in un unico file o se si desidera avere un ulteriore controllo sulla definizione del modello.

/* 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
    }
});

Per la documentazione e altri esempi, consultare la documentazione di doclets o la documentazione di sequelize.com .


2. sequelize.import (path)

Se le definizioni del modello sono suddivise in un file per ciascuna, quindi l' import è tuo amico. Nel file in cui si inizializza Sequelize, è necessario chiamare l'importazione in questo modo:

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

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

Quindi nei file di definizione del modello, il codice sarà simile a questo:

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

Per ulteriori informazioni su come utilizzare l' import , controlla l' esempio esplicito di sequelize su GitHub .