112 lines
3.0 KiB
JavaScript
112 lines
3.0 KiB
JavaScript
"use strict";
|
||
|
||
/** @type {import('sequelize-cli').Migration} */
|
||
module.exports = {
|
||
async up(queryInterface, Sequelize) {
|
||
// Добавляем колонки по одной с обработкой ошибок
|
||
try {
|
||
await queryInterface.addColumn("TimeEntries", "startDate", {
|
||
type: Sequelize.DATE,
|
||
allowNull: true,
|
||
defaultValue: null,
|
||
});
|
||
console.log("Added startDate column");
|
||
} catch (error) {
|
||
console.log(
|
||
"startDate column might already exist or error:",
|
||
error.message
|
||
);
|
||
}
|
||
|
||
try {
|
||
await queryInterface.addColumn("TimeEntries", "endDate", {
|
||
type: Sequelize.DATE,
|
||
allowNull: true,
|
||
defaultValue: null,
|
||
});
|
||
console.log("Added endDate column");
|
||
} catch (error) {
|
||
console.log(
|
||
"endDate column might already exist or error:",
|
||
error.message
|
||
);
|
||
}
|
||
|
||
try {
|
||
await queryInterface.addColumn("TimeEntries", "startTime", {
|
||
type: Sequelize.TIME,
|
||
allowNull: true,
|
||
defaultValue: null,
|
||
});
|
||
console.log("Added startTime column");
|
||
} catch (error) {
|
||
console.log(
|
||
"startTime column might already exist or error:",
|
||
error.message
|
||
);
|
||
}
|
||
|
||
try {
|
||
await queryInterface.addColumn("TimeEntries", "endTime", {
|
||
type: Sequelize.TIME,
|
||
allowNull: true,
|
||
defaultValue: null,
|
||
});
|
||
console.log("Added endTime column");
|
||
} catch (error) {
|
||
console.log(
|
||
"endTime column might already exist or error:",
|
||
error.message
|
||
);
|
||
}
|
||
|
||
try {
|
||
await queryInterface.addColumn("TimeEntries", "status", {
|
||
type: Sequelize.ENUM("active", "closed"),
|
||
defaultValue: "closed",
|
||
allowNull: false,
|
||
});
|
||
console.log("Added status column");
|
||
} catch (error) {
|
||
console.log("status column might already exist or error:", error.message);
|
||
}
|
||
},
|
||
|
||
async down(queryInterface, Sequelize) {
|
||
try {
|
||
await queryInterface.removeColumn("TimeEntries", "startDate");
|
||
console.log("Removed startDate column");
|
||
} catch (error) {
|
||
console.log("Error removing startDate:", error.message);
|
||
}
|
||
|
||
try {
|
||
await queryInterface.removeColumn("TimeEntries", "endDate");
|
||
console.log("Removed endDate column");
|
||
} catch (error) {
|
||
console.log("Error removing endDate:", error.message);
|
||
}
|
||
|
||
try {
|
||
await queryInterface.removeColumn("TimeEntries", "startTime");
|
||
console.log("Removed startTime column");
|
||
} catch (error) {
|
||
console.log("Error removing startTime:", error.message);
|
||
}
|
||
|
||
try {
|
||
await queryInterface.removeColumn("TimeEntries", "endTime");
|
||
console.log("Removed endTime column");
|
||
} catch (error) {
|
||
console.log("Error removing endTime:", error.message);
|
||
}
|
||
|
||
try {
|
||
await queryInterface.removeColumn("TimeEntries", "status");
|
||
console.log("Removed status column");
|
||
} catch (error) {
|
||
console.log("Error removing status:", error.message);
|
||
}
|
||
},
|
||
};
|