我正在使用 Nodejs、Express 和 Sequelize。我有一個 Postgres 表,它使用一個 viewOrder 欄位命名 Categories :
module.exports = (sequelize, DataTypes) => {
const Category = sequelize.define(
'Category',
{
name: DataTypes.STRING,
viewOrder: {
type: DataTypes.INTEGER,
allowNull: false,
unique: true
}
},
{}
);
return Category;
};
插入新記錄可能會帶來問題,因為,如果現有記錄的視圖順序為 [1, 2, 3, 4, 5],而新記錄的順序視圖為 4,則當前的 4必須改成5,當前的5必須改成6
(我從前端強制此訂單視圖為連續數字)
我想一個簡單的 Category.create 是不夠的
更新也可能有問題,如果我想把viewOrder為5的記錄改成viewOrder為3,那么vieworders為3和4的記錄也必須要改,和我們更新的一起
我怎樣才能在 Sequelize 中做到這一點?
提前致謝,
拉斐爾
uj5u.com熱心網友回復:
依靠前端來維護viewOrder. 也是如此Sequelize。最可靠的方法是由 PostgreSQL 本身生成這樣的唯一值,或者創建一個序列(如果您不需要重用生成的值)或在 Category 表上添加一個觸發器。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/370568.html
標籤:节点.js PostgreSQL的 表达 sequelize.js
