【问题标题】:How to get sequelize -auto to generate autoincrement on model from mysql table?如何让 sequelize -auto 从 mysql 表中生成模型的自动增量?
【发布时间】:2020-08-05 07:01:28
【问题描述】:

我在 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

我得到以下模型:

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

为什么我在 ID 字段中缺少 autoincrment : true

我可以手动添加它,但它破坏了使用 sequelize -auto 的目的

【问题讨论】:

    标签: mysql sequelize.js sequelize-auto


    【解决方案1】:

    这花了一些时间,我可以诚实地说我仍然不知道问题是什么。

    我通过安装 sequelize-auto v3 解决了这个问题,然后它按预期工作了。

    【讨论】:

    • sequelize-auto最近有很多更新,所以现在应该领先于“v3”包了。
    猜你喜欢
    • 2022-01-09
    • 2021-03-17
    • 2015-03-06
    • 2019-08-18
    • 2021-11-26
    • 2020-02-01
    • 2016-09-27
    • 1970-01-01
    • 2019-02-21
    相关资源
    最近更新 更多