48 lines
1.9 KiB
JavaScript
48 lines
1.9 KiB
JavaScript
'use strict';
|
|
|
|
module.exports = {
|
|
async up(queryInterface, Sequelize) {
|
|
// Check if raw_payload column exists in drone_detections before adding
|
|
const droneDetectionsTable = await queryInterface.describeTable('drone_detections');
|
|
if (!droneDetectionsTable.raw_payload) {
|
|
await queryInterface.addColumn('drone_detections', 'raw_payload', {
|
|
type: Sequelize.JSON,
|
|
allowNull: true,
|
|
comment: 'Complete raw payload received from detector (for debugging)'
|
|
});
|
|
console.log('✅ Added raw_payload field to drone_detections table');
|
|
} else {
|
|
console.log('⏭️ raw_payload field already exists in drone_detections table');
|
|
}
|
|
|
|
// Check if raw_payload column exists in heartbeats before adding
|
|
const heartbeatsTable = await queryInterface.describeTable('heartbeats');
|
|
if (!heartbeatsTable.raw_payload) {
|
|
await queryInterface.addColumn('heartbeats', 'raw_payload', {
|
|
type: Sequelize.JSON,
|
|
allowNull: true,
|
|
comment: 'Complete raw payload received from detector (for debugging)'
|
|
});
|
|
console.log('✅ Added raw_payload field to heartbeats table');
|
|
} else {
|
|
console.log('⏭️ raw_payload field already exists in heartbeats table');
|
|
}
|
|
},
|
|
|
|
async down(queryInterface, Sequelize) {
|
|
// Remove raw_payload column from drone_detections table
|
|
const droneDetectionsTable = await queryInterface.describeTable('drone_detections');
|
|
if (droneDetectionsTable.raw_payload) {
|
|
await queryInterface.removeColumn('drone_detections', 'raw_payload');
|
|
console.log('✅ Removed raw_payload field from drone_detections table');
|
|
}
|
|
|
|
// Remove raw_payload column from heartbeats table
|
|
const heartbeatsTable = await queryInterface.describeTable('heartbeats');
|
|
if (heartbeatsTable.raw_payload) {
|
|
await queryInterface.removeColumn('heartbeats', 'raw_payload');
|
|
console.log('✅ Removed raw_payload field from heartbeats table');
|
|
}
|
|
}
|
|
};
|