cre*_*lee 6 postgresql node.js sequelize.js
经过一些研究,我似乎无法找到执行以下操作的好方法:
我不想向现有表添加新列,该列应该是一个自动递增的整数,从值 1000 开始。
我的迁移文件现在简单明了:
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return Promise.all([
queryInterface.addColumn(
'Orders',
'orderRef',
{
autoIncrement: true,
type: Sequelize.INTEGER
}
)
])
},
down: {...
}
};
Run Code Online (Sandbox Code Playgroud)
因此,这将毫无问题地将该列添加到表中。但我似乎无法找到一种很好的方法来将值设置为从 1000 开始并从那里增加。
我知道我可以运行一个查询,ALTER TABLE Orders AUTO_INCREMENT = 1000;但我非常感谢将它保留在 Sequelize 中。
我正在使用 PostgreSQL 数据库和 Sequelize 版本 4.38.1。
有谁知道解决这个问题的好方法?
小智 7
它已经存在于 Sequelize 中。有一个名为“initialAutoIncrement”的选项。这会设置 MySQL 中表的初始 AUTO_INCRMENT 值。
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;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1915 次 |
| 最近记录: |