sequelize migration associations code example

Example 1: sequelize generate migration

npx sequelize-cli migration:generate --name add-title-post-table

Example 2: sequelize associations

const User = sequelize.define('user', { name: DataTypes.STRING }, { timestamps: false });
const Task = sequelize.define('task', { name: DataTypes.STRING }, { timestamps: false });
const Tool = sequelize.define('tool', {
  name: DataTypes.STRING,
  size: DataTypes.STRING
}, { timestamps: false });
User.hasMany(Task);
Task.belongsTo(User);
User.hasMany(Tool, { as: 'Instruments' });


//access the model
const tasks = await Task.findAll({ include: User });

//output

[{
  "name": "A Task",
  "id": 1,
  "userId": 1,
  "user": {
    "name": "John Doe",
    "id": 1
  }
}]

Example 3: sequelize migration limit

queryInterface.createTable(
    'Posts',
    {
        title: {
            type: Sequelize.DataTypes.STRING(100),
            allowNull: false
        }
    }
);