Мне нужна помощь, чтобы кое-что прояснить с определением модели Sequelize и связями в сочетании с использованием Swagger.
Я определил модель в sequelize и с помощью миграций я создал таблицу для этой модели. Название модели - рабочий заказ.
// WORK-ORDER MODEL
const Sequelize = require("sequelize");
const sequelize = require("../util/database");
const WorkOrder = sequelize.define("workOrders", {
Id: {
type: Sequelize.UUID,
allowNull: false,
primaryKey: true,
defaultValue: Sequelize.UUIDV4
},
ProjectNumber: {
type: Sequelize.INTEGER,
allowNull: true
},
DateInspection: {
type: Sequelize.DATE,
allowNull: true
}
});
module.exports = WorkOrder;
// migrations model for work-order
"use strict";
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable("workOrders", {
Id: {
type: Sequelize.UUID,
allowNull: false,
primaryKey: true,
defaultValue: Sequelize.UUIDV4
},
ProjectNumber: {
type: Sequelize.INTEGER,
allowNull: true
},
DateInspection: {
type: Sequelize.DATE,
allowNull: true
},
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable("workOrders");
}
};
And I have a customer model and migrations model
// CUSTOMER MODEL
const Sequelize = require("sequelize");
const sequelize = require("../util/database");
const Customer = sequelize.define("customer", {
Id: {
type: Sequelize.UUID,
allowNull: false,
primaryKey: true,
defaultValue: Sequelize.UUIDV4
},
Name: {
type: Sequelize.STRING,
allowNull: true
},
});
module.exports = Customer;
// migrations model for customer
"use strict";
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable("customer", {
Id: {
type: Sequelize.UUID,
allowNull: false,
primaryKey: true,
defaultValue: Sequelize.UUIDV4
},
Name: {
type: Sequelize.STRING,
allowNull: true
},
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable("customer");
}
};
В документации по sequelize говорится, что: Когда вы создаете ассоциации между вашими моделями в sequelize, автоматически создаются ссылки на внешние ключи с ограничениями.
В моем файле ассоциации я определил это
Customer.hasMany(WorkOrder);
И действительно, в моей таблице рабочих заданий я вижу, что в моей таблице workOrders есть добавленный столбец customerId.
Теперь мой вопрос / вызов. У меня также работает Swagger, и я хочу сослаться на customerId в модели workOrders, но в модели столбец customerId не определен, поскольку он был автоматически добавлен sequelize.
Что мне нужно делать с автоассоциациями, созданными sequelize и Swagger?
Заранее спасибо. Пит