gpt4 book ai didi

node.js - 在 Sequelize 中添加具有起始值的自动递增整数

转载 作者:行者123 更新时间:2023-12-03 17:31:03 24 4
gpt4 key购买 nike

经过一些研究,我似乎无法找到执行以下操作的好方法:

我不想向现有表添加新列,该列应该是一个自动递增的整数,从值 1000 开始。

我的迁移文件现在简单明了:

'use strict';

module.exports = {
up: (queryInterface, Sequelize) => {
return Promise.all([
queryInterface.addColumn(
'Orders',
'orderRef',
{
autoIncrement: true,
type: Sequelize.INTEGER
}
)
])
},

down: {...
}
};

因此,这将毫无问题地将该列添加到表中。但是我似乎无法找到一种很好的方法来将值设置为从 1000 开始并从那里增加。

我知道我可以运行类似 ALTER TABLE Orders AUTO_INCREMENT = 1000; 的查询但我非常感谢将它保留在 Sequelize 中。

我正在使用 PostgreSQL 数据库和 Sequelize 版本 4.38.1。

有谁知道解决这个问题的好方法?

最佳答案

它已经存在于 Sequelize 中。有一个称为initialAutoIncrement 的选项。这会为 MySQL 中的表设置初始 AUTO_INCREMENT 值。

module.exports = (sequelize, DataTypes) => {
const User = sequelize.define(
'User',
{
id: {
type: DataTypes.BIGINT(20),
primaryKey: true,
autoIncrement: true,
},
name: {
type: DataTypes.STRING(500),
allowNull: false,
},
},
{
initialAutoIncrement: 1000,
}
);

return User;
};

关于node.js - 在 Sequelize 中添加具有起始值的自动递增整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54005949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com