diff --git a/backend/migrations/20240407182431-create-runs-cases.js b/backend/migrations/20240407182431-create-runs-cases.js new file mode 100644 index 0000000..eeb6fa8 --- /dev/null +++ b/backend/migrations/20240407182431-create-runs-cases.js @@ -0,0 +1,52 @@ +"use strict"; + +/** @type {import('sequelize-cli').Migration} */ +module.exports = { + up: async (queryInterface, Sequelize) => { + await queryInterface.createTable("runCases", { + id: { + type: Sequelize.INTEGER, + primaryKey: true, + autoIncrement: true, + }, + runId: { + type: Sequelize.INTEGER, + references: { + model: "runs", + key: "id", + }, + onUpdate: "CASCADE", + onDelete: "CASCADE", + }, + caseId: { + type: Sequelize.INTEGER, + references: { + model: "cases", + key: "id", + }, + onUpdate: "CASCADE", + onDelete: "CASCADE", + }, + status: { + type: Sequelize.INTEGER, + allowNull: false, + }, + createdAt: { + type: Sequelize.DATE, + allowNull: false, + }, + updatedAt: { + type: Sequelize.DATE, + allowNull: false, + }, + }); + + await queryInterface.addIndex("runCases", ["runId", "caseId"], { + unique: true, + }); + }, + + down: async (queryInterface, Sequelize) => { + await queryInterface.dropTable("runCases"); + }, +}; diff --git a/backend/seeders/seed.js b/backend/seeders/seed.js index badb5ca..48115f4 100644 --- a/backend/seeders/seed.js +++ b/backend/seeders/seed.js @@ -235,6 +235,23 @@ module.exports = { updatedAt: new Date(), }, ]); + + await queryInterface.bulkInsert("runCases", [ + { + runId: 1, + caseId: 1, + status: 1, + createdAt: new Date(), + updatedAt: new Date(), + }, + { + runId: 1, + caseId: 2, + status: 1, + createdAt: new Date(), + updatedAt: new Date(), + }, + ]); }, down: async (queryInterface, Sequelize) => {