【发布时间】:2019-05-29 01:52:28
【问题描述】:
经过一些研究,我似乎无法找到一个很好的方法来做以下事情:
我不想在现有表中添加一个新列,它应该是一个自动递增的整数,从值 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 似乎还没有实现来抽象这个动作,遗憾的是你必须运行那个查询。
-
感谢您的回复。嗯,这看起来很奇怪。是的,要么运行该查询,要么创建 1000 次失败的插入尝试;)
-
你找到解决办法了吗?
-
@md-shah no.. 我认为最简单的方法就是在服务器上运行此查询:ALTER TABLE Orders AUTO_INCREMENT = 1000;
标签: node.js postgresql sequelize.js