Я использую featherjs v2.0.3 с sequelize v3.29.0, и я только что создал три модели, третий из которых имеет отношение к другим двум.Как создать внешние ключи с sequelizejs в проекте feathersjs
Я использовал перья-кли для создания услуг для каждого, а затем отредактировать файл модели каждого из них.
До сих пор, так хорошо, таблицы создаются (с использованием 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