我使用的是featherjs v2.0.3和sequelize v3.29.0,我剛剛創建了三個模型,第三個與另外兩個模型有關係。如何在feathersjs項目中使用sequelizejs創建外鍵
我用羽毛-CLI生成每個服務,然後編輯每個模型文件。
到目前爲止,這麼好,創建表(使用PostgreSQL),索引被創建,feathersjs很好地處理了CRUD,但沒有外鍵。
因此,當我試圖告訴羽毛之間的關係模型之間,我遇到了麻煩。
當我添加role_permission.belongsTo(permissions)
到role_permission
模型,我得到這個錯誤: ReferenceError: permissions is not defined
正如我在Sequelize文檔中看到,該模型是相同的「文件」中定義的,因此我懷疑問題在那裏,但我不明白需要做什麼。
最後,這裏的permission
和role_permission
模型定義的相關部分:
// permission-model.js - A sequelize model
module.exports = function(sequelize) {
const permission = sequelize.define('permissions', {
permission_id: {
type: Sequelize.UUID,
defaultValue: Sequelize.UUIDV1,
primaryKey: true,
allowNull: false
}...
}, ...);
permission.sync();
return permission;
};
// role_permission-model.js - A sequelize model
module.exports = function(sequelize) {
const role_permission = sequelize.define('role_permissions', {
permission_id: {
type: Sequelize.UUID,
allowNull: false
}...
}, ...);
role_permission.belongsTo(permissions) //<-- undefined?
role_permission.sync();
return role_permission;
};
你有任何指針幫我解決這個問題? 謝謝!
真棒人!精美的作品,非常感謝 – transistor
謝謝@ sam-desota!我現在一直在尋找這樣的事情。有沒有關於你剛纔詳細描述的任何文件?這是超級有用的。這會爲我節省大量的時間。 – abraganza