如何使用Sequelize添加唯一的非聚集约束



我在Sequelize的文档中找不到它。

create table User (
id int unique,
lastname varchar(255),
firstname varchar(255),
Unique (lastname),
Constraint UN_people2 unique (firstname,lastname)
)

的主要问题

Constraint UN_people2 unique (firstname,lastname)

如何在Sequelize中做到这一点?

如果在不同的文件中定义模型,则可以使用options对象指定indexes数组:


const { DataTypes } = require('sequelize');
module.exports = (sequelize) => {
const User = sequelize.define(
'user',
{
id: {
type: DataTypes.INTEGER,
autoIncrement: true,
allowNull: false,
primaryKey: true,
},
firstname: { type: DataTypes.STRING },
lastname: { type: DataTypes.STRING },
},
{
indexes: [
{
name: 'user_unique_names',
unique: true,
type: 'NONCLUSTERED',
fields: [
'firstname',
'lastname',
],
},
],
},
);
return User;
};

最新更新