Как заставить sequelize -auto генерировать автоинкремент на модели из таблицы mysql? - PullRequest
1 голос
/ 22 апреля 2020

У меня есть таблица языков в mysql db, где у меня есть Id, который автоматически инкрементируется:

CREATE TABLE `languages` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Language` varchar(45) NOT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

Когда я запускаю команду sequelize-auto:

sequelize-auto -h 127.0.0.1 -d DBNAME -u root -x PASSWORD -p 3306 --dialect mysql -c MYPATH\json/sequelize-auto-settings.json -o MODELSPATH\src\assets\models

I получить следующий режимL:

/* jshint indent: 1 */

module.exports = function(sequelize, DataTypes) {
    return sequelize.define('languages', {
        Id: {
            type: DataTypes.INTEGER(11),
            allowNull: false,
            primaryKey: true,
            field: 'Id'
        },
        Language: {
            type: DataTypes.STRING(45),
            allowNull: false,
            field: 'Language'
        }
    }, {
        tableName: 'languages'
    });
};

Почему я пропускаю autoincrment : true в поле Id?

Я могу добавить его вручную, но он не использует цель использования sequelize -auto

1 Ответ

1 голос
/ 22 апреля 2020

Это заняло некоторое время, и я могу честно сказать, что до сих пор не знаю, в чем проблема.

Я решил это, установив sequelize-auto v3 , и тогда все заработало как положено.

...