1
我在NodeJS中使用Sequelize ORM來管理PostgreSQL數據庫。 我在我的表中使用JSONB數據類型,我需要JSONB字段上的索引和此JSON屬性上的唯一約束。 如果我有一個經典的SQL在這裏做我的腳本:如何使用Sequelize在JSONB字段上創建UNIQUE約束
CREATE TABLE tableJson (id SERIAL PRIMARY KEY,
content JSONB NOT NULL);
CREATE INDEX j_idx ON tableJson USING gin(content jsonb_path_ops);
CREATE UNIQUE INDEX content_name_idx ON tableJson(((content->>'name')::varchar));
我已經找到了如何使用INDEX但不知道如何處理UNIQUE約束創建表。這裏是我的腳本示例:
var tableJson = sequelize.define('tableJson', {
content: Sequelize.JSONB
}, {
indexes: [{
fields: ['content'],
using: 'gin',
operator: 'jsonb_path_ops'
}
});
有沒有解決我的問題?如果沒有,我可能會使用sequelize.query方法來執行原始查詢,但這不是非常具有進化性。
任何幫助,將不勝感激!