in middleware/cron/syncTransactionHistory.js [57:98]
CREATE TABLE IF NOT EXISTS transactions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
block_id INTEGER NOT NULL,
volume INTEGER NOT NULL,
created_at TEXT NOT NULL
)
`, (err) => {
if (err) {
logger.error('Error creating transactions table:', err);
reject(err);
return;
}
// Create index on block_id
db.run('CREATE INDEX IF NOT EXISTS idx_transactions_block_id ON transactions(block_id)', (err) => {
if (err) {
logger.error('Error creating block_id index:', err);
reject(err);
return;
}
// Create index on created_at for time-based queries
db.run('CREATE INDEX IF NOT EXISTS idx_transactions_created_at ON transactions(created_at)', (err) => {
if (err) {
logger.error('Error creating created_at index:', err);
reject(err);
return;
}
// Verify database is accessible with a simple query
db.get('SELECT count(*) as count FROM transactions', (err, row) => {
if (err) {
logger.error('Error verifying database access:', err);
reject(err);
} else {
logger.info(`Database initialized successfully. Current record count: ${row?.count || 0}`);
resolve();
}
});
});
});
});