mirror of
https://github.com/kjanat/livedash-node.git
synced 2026-01-16 11:52:09 +01:00
37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
#!/usr/bin/env node
|
|
/**
|
|
* Simple D1 query helper script
|
|
* Usage: node scripts/d1-query.js "SELECT * FROM User LIMIT 5"
|
|
* Usage: node scripts/d1-query.js --remote "SELECT COUNT(*) FROM Company"
|
|
*/
|
|
|
|
import { execSync } from 'child_process';
|
|
const args = process.argv.slice(2);
|
|
|
|
if (args.length === 0) {
|
|
console.log('Usage: node scripts/d1-query.js [--remote] "SQL_QUERY"');
|
|
console.log('Examples:');
|
|
console.log(' node scripts/d1-query.js "SELECT * FROM User LIMIT 5"');
|
|
console.log(' node scripts/d1-query.js --remote "SELECT COUNT(*) FROM Company"');
|
|
process.exit(1);
|
|
}
|
|
|
|
const isRemote = args.includes('--remote');
|
|
const query = args[ args.length - 1 ];
|
|
|
|
if (!query || query.startsWith('--')) {
|
|
console.error('Error: Please provide a SQL query');
|
|
process.exit(1);
|
|
}
|
|
|
|
const remoteFlag = isRemote ? '--remote' : '';
|
|
const command = `npx wrangler d1 execute d1-notso-livedash ${remoteFlag} --command "${query}"`;
|
|
|
|
try {
|
|
console.log(`🔍 Executing${isRemote ? ' (remote)' : ' (local)'}: ${query}\n`);
|
|
execSync(command, { stdio: 'inherit' });
|
|
} catch (error) {
|
|
console.error('Query failed:', error.message);
|
|
process.exit(1);
|
|
}
|