add SREBOT, SHARED, TSSBOT contents (fixup for #1223)
PR #1223 only staged the deletions of the old paths because the new top-level directories were still untracked when the commit was authored. This commit adds the actual restructured tree: SREBOT/ (existing bot), SHARED/ (vromfs, data_parser, ICONS/MAPS/FONTS, DAGOR_FILES, update_game_files), and TSSBOT/ (skeleton). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
require('dotenv').config();
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
const path = require('path');
|
||||
const STORAGE_ROOT = (process.env.SREBOT_STORAGE_VOL_PATH || '').trim();
|
||||
if (!STORAGE_ROOT) {
|
||||
throw new Error('SREBOT_STORAGE_VOL_PATH must be set');
|
||||
}
|
||||
const DB_PATH = path.join(STORAGE_ROOT, 'sq_battles.db');
|
||||
|
||||
console.log(`Opening database at: ${DB_PATH}`);
|
||||
|
||||
const db = new sqlite3.Database(DB_PATH, sqlite3.OPEN_READWRITE, (err) => {
|
||||
if (err) {
|
||||
console.error('Failed to open database:', err.message);
|
||||
process.exit(1);
|
||||
}
|
||||
console.log('Connected to database successfully');
|
||||
|
||||
const checkIndexQuery = `
|
||||
SELECT name FROM sqlite_master
|
||||
WHERE type='index' AND name='idx_endtime_unix'
|
||||
`;
|
||||
|
||||
db.get(checkIndexQuery, [], (err, row) => {
|
||||
if (err) {
|
||||
console.error('Error checking for existing index:', err.message);
|
||||
db.close();
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if (row) {
|
||||
console.log('Index idx_endtime_unix already exists');
|
||||
db.close();
|
||||
console.log('Nothing to do - exiting');
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
console.log('Creating index idx_endtime_unix on player_games_hist(endtime_unix)...');
|
||||
const createIndexQuery = `CREATE INDEX idx_endtime_unix ON player_games_hist(endtime_unix)`;
|
||||
|
||||
db.run(createIndexQuery, [], (err) => {
|
||||
if (err) {
|
||||
console.error('Failed to create index:', err.message);
|
||||
db.close();
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log('Index created successfully!');
|
||||
|
||||
db.get(checkIndexQuery, [], (err, row) => {
|
||||
if (err) {
|
||||
console.error('Error verifying index:', err.message);
|
||||
} else if (row) {
|
||||
console.log('Index verified successfully');
|
||||
} else {
|
||||
console.warn('Warning: Index not found after creation');
|
||||
}
|
||||
|
||||
db.close((err) => {
|
||||
if (err) {
|
||||
console.error('Error closing database:', err.message);
|
||||
process.exit(1);
|
||||
}
|
||||
console.log('Database connection closed');
|
||||
console.log('\nIndex creation complete!');
|
||||
process.exit(0);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user