如何让 sequelize -auto 从 mysql table 生成模型的自动增量?
How to get sequelize -auto to generate autoincrement on model from mysql table?
我在 mysql 数据库中有一个语言表,其中有一个自动递增的 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
我得到以下模型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'
});
};
为什么我在 Id 字段中缺少 autoincrment : true
?
我可以手动添加它,但它破坏了使用 sequelize -auto 的目的
这花了一些时间,老实说我仍然不知道问题出在哪里。
我通过安装 sequelize-auto v3 解决了这个问题,然后它按预期工作了。
我在 mysql 数据库中有一个语言表,其中有一个自动递增的 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
我得到以下模型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'
});
};
为什么我在 Id 字段中缺少 autoincrment : true
?
我可以手动添加它,但它破坏了使用 sequelize -auto 的目的
这花了一些时间,老实说我仍然不知道问题出在哪里。
我通过安装 sequelize-auto v3 解决了这个问题,然后它按预期工作了。