const fs = require('fs'); const {spawn} = require('child_process'); function watchDatabaseChanges() { console.log('Watching for changes in db/routines and db/versions'); fs.watch('db', {recursive: true}, (eventType, filename) => { if (filename.endsWith('.sql')) { let command; if (filename.startsWith('routines')) command = 'push'; else if (filename.startsWith('versions')) command = 'run'; if (command) { const process = spawn('myt', [command]); process.stdout.on('data', data => console.log(data.toString())); process.stderr.on('data', data => console.error(`stderr: ${data}`)); process.on('error', error => console.error(`error: ${error.message}`)); process.on('close', () => console.log('Watching for changes in db/routines and db/versions')); } } }); } if (require.main === module) watchDatabaseChanges(); module.exports = watchDatabaseChanges;