const db = require('../models'); const Users = db.users; const Gestures = db.gestures; const Videos = db.videos; const GesturesData = [ { name: 'Wave', description: 'A simple hand wave to initiate actions.', // type code here for "relation_many" field }, { name: 'Thumbs Up', description: 'Gesture for approval or agreement.', // type code here for "relation_many" field }, { name: 'Swipe Left', description: 'Gesture to navigate left.', // type code here for "relation_many" field }, { name: 'Swipe Right', description: 'Gesture to navigate right.', // type code here for "relation_many" field }, ]; const VideosData = [ { title: 'Gesture Tutorial 1', recorded_at: new Date('2023-10-01T10:00:00Z'), // type code here for "relation_one" field }, { title: 'Gesture Tutorial 2', recorded_at: new Date('2023-10-02T11:00:00Z'), // type code here for "relation_one" field }, { title: 'Gesture Tutorial 3', recorded_at: new Date('2023-10-03T12:00:00Z'), // type code here for "relation_one" field }, { title: 'Gesture Tutorial 4', recorded_at: new Date('2023-10-04T13:00:00Z'), // type code here for "relation_one" field }, ]; // Similar logic for "relation_many" // Similar logic for "relation_many" async function associateVideoWithGesture() { const relatedGesture0 = await Gestures.findOne({ offset: Math.floor(Math.random() * (await Gestures.count())), }); const Video0 = await Videos.findOne({ order: [['id', 'ASC']], offset: 0, }); if (Video0?.setGesture) { await Video0.setGesture(relatedGesture0); } const relatedGesture1 = await Gestures.findOne({ offset: Math.floor(Math.random() * (await Gestures.count())), }); const Video1 = await Videos.findOne({ order: [['id', 'ASC']], offset: 1, }); if (Video1?.setGesture) { await Video1.setGesture(relatedGesture1); } const relatedGesture2 = await Gestures.findOne({ offset: Math.floor(Math.random() * (await Gestures.count())), }); const Video2 = await Videos.findOne({ order: [['id', 'ASC']], offset: 2, }); if (Video2?.setGesture) { await Video2.setGesture(relatedGesture2); } const relatedGesture3 = await Gestures.findOne({ offset: Math.floor(Math.random() * (await Gestures.count())), }); const Video3 = await Videos.findOne({ order: [['id', 'ASC']], offset: 3, }); if (Video3?.setGesture) { await Video3.setGesture(relatedGesture3); } } module.exports = { up: async (queryInterface, Sequelize) => { await Gestures.bulkCreate(GesturesData); await Videos.bulkCreate(VideosData); await Promise.all([ // Similar logic for "relation_many" // Similar logic for "relation_many" await associateVideoWithGesture(), ]); }, down: async (queryInterface, Sequelize) => { await queryInterface.bulkDelete('gestures', null, {}); await queryInterface.bulkDelete('videos', null, {}); }, };