'postgres returns another table column while inserting data in sequelize

When I try to insert new category, I got this error:

 error: column "image" does not exist
 sql: 'INSERT INTO "Categories" ("id","createdAt","updatedAt") VALUES (DEFAULT,$1,$2) RETURNING "id","image","title","createdAt","updatedAt";'

The problem is that it doesn't insert name and other values and returns columns belong to post table.

My guesses are the problem of sequelize-cli and sequelize version or missing something in models or migrations.

I only insert values into name, createdAt and updatedAt column:

await Category.create({
        name: req.body.name,
        createdAt: new Date(),
        updatedAt: new Date()
    });

My category model:

    const { Model } = require("sequelize");
module.exports = (sequelize, DataTypes) => {
    class Category extends Model {
        static associate(models) {
            Category.hasMany(models.Post, { as: "posts", foreignKey: "categoryId" });
        }
    }
    Category.init(
        {
            name: DataTypes.STRING
        },
        {
            sequelize,
            modelName: "Category"
        }
    );
    return Category;
};

My Post Model:

const { Model } = require("sequelize");

module.exports = (sequelize, DataTypes) => {
    class Post extends Model {
        static associate(models) {
            Post.belongsTo(models.Category, { foreignKey: "categoryId", onDelete: "CASCADE", as: "category" });
        }
    }
    Post.init(
        {
            title: DataTypes.STRING,
            image: DataTypes.STRING,
            content: DataTypes.TEXT,
            categoryId: DataTypes.INTEGER
        },
        {
            sequelize,
            modelName: "Post"
        }
    );
    return Post;
};

Post migration:

module.exports = {
    async up(queryInterface, Sequelize) {
        await queryInterface.createTable("Posts", {
            id: {
                allowNull: false,
                autoIncrement: true,
                primaryKey: true,
                type: Sequelize.INTEGER
            },
            title: {
                type: Sequelize.STRING
            },
            image: {
                type: Sequelize.STRING
            },
            content: {
                type: Sequelize.TEXT
            },
            categoryId: {
                type: Sequelize.INTEGER,
                allowNull: false,
                onDelete: "CASCADE",
                references: {
                    model: "Categories",
                    key: "id"
                }
            },
            createdAt: {
                allowNull: false,
                type: Sequelize.DATE
            },
            updatedAt: {
                allowNull: false,
                type: Sequelize.DATE
            }
        });
    }, 

Category migration:

module.exports = {
    async up(queryInterface, Sequelize) {
        await queryInterface.createTable("Categories", {
            id: {
                allowNull: false,
                autoIncrement: true,
                primaryKey: true,
                type: Sequelize.INTEGER
            },
            name: {
                type: Sequelize.STRING
            },
            createdAt: {
                allowNull: false,
                type: Sequelize.DATE
            },
            updatedAt: {
                allowNull: false,
                type: Sequelize.DATE
            }
        });
    },


Solution 1:[1]

I couldn't find solution for this, therefor I used sequelize.query

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Adham Muzaffarov