Sunday 19 March 2017

Sequelize CLI how to create migrations from models?

I have two models with relations one to many.

I don't understand how to create migration files. Does each model have its own migration file or one migration file can create several tables from models and relations between them (for example as in rails migrations)?

I had a look at many examples including Sequelize docs, and there are primitive examples of models creating and its migration.

//User model
module.exports = function (sequelize, Sequelize) {
    var User = sequelize.define('users', {
        id: {
            type: Sequelize.INTEGER,
            primaryKey: true,
            autoIncrement: true,
        },
        email: {
            type: Sequelize.STRING,
            allowNull: false,
            unique: true,
        },
        password: {
            type: Sequelize.STRING,
            allowNull: false,
        },
    });

    return User;
}

//Order model
module.exports = function (sequelize, Sequelize) {
    var Order = sequelize.define('orders', {
        id: {
            type: Sequelize.INTEGER,
            primaryKey: true,
            autoIncrement: true,
        },
        price: {
            type: Sequelize.INTEGER,
            allowNull: false,
        },
        totalPrice: {
            type: Sequelize.INTEGER,
            allowNull: false,
        },
    });

    return Order;
}

//db.js
//Relations
db.orders.belongsTo(db.users);
db.users.hasMany(db.orders);



via Sergei R

No comments:

Post a Comment