Files
wehub-resource-sync 680cc63b3d
Relay Deploy Dev / Deploy Relay Dev (push) Failing after 1s
Remote Deploy Dev / Deploy Remote Dev (push) Failing after 2s
Test / frontend-checks (push) Blocked by required conditions
Test / changes (push) Waiting to run
Test / backend-schema-checks (push) Blocked by required conditions
Test / backend-remote-checks (push) Blocked by required conditions
Test / backend-clippy (push) Blocked by required conditions
Test / backend-test (push) Blocked by required conditions
Test / tauri-checks (push) Blocked by required conditions
chore: import upstream snapshot with attribution
2026-07-13 12:12:58 +08:00

48 lines
1.3 KiB
JavaScript

#!/usr/bin/env node
const { execSync } = require('child_process');
const fs = require('fs');
const path = require('path');
const checkMode = process.argv.includes('--check');
console.log(checkMode ? 'Checking SQLx prepared queries...' : 'Preparing database for SQLx...');
// Change to backend directory
const backendDir = path.join(__dirname, '..', 'crates/db');
process.chdir(backendDir);
// Create temporary database file
const dbFile = path.join(backendDir, 'prepare_db.sqlite');
fs.writeFileSync(dbFile, '');
try {
// Get absolute path (cross-platform)
const dbPath = path.resolve(dbFile);
const databaseUrl = `sqlite:${dbPath}`;
console.log(`Using database: ${databaseUrl}`);
// Run migrations
console.log('Running migrations...');
execSync('cargo sqlx migrate run', {
stdio: 'inherit',
env: { ...process.env, DATABASE_URL: databaseUrl }
});
// Prepare queries
const sqlxCommand = checkMode ? 'cargo sqlx prepare --check' : 'cargo sqlx prepare';
console.log(checkMode ? 'Checking prepared queries...' : 'Preparing queries...');
execSync(sqlxCommand, {
stdio: 'inherit',
env: { ...process.env, DATABASE_URL: databaseUrl }
});
console.log(checkMode ? 'SQLx check complete!' : 'Database preparation complete!');
} finally {
// Clean up temporary file
if (fs.existsSync(dbFile)) {
fs.unlinkSync(dbFile);
}
}