← back to Handbag Auth Nextjs
auction-viewer/add-data-hash-migration.js
48 lines
const Database = require('better-sqlite3');
const path = require('path');
const DB_PATH = path.join(__dirname, '..', 'data', 'auction-history', 'auctions.db');
const db = new Database(DB_PATH);
console.log('Adding data_hash and updated_at columns...');
try {
// Check if columns exist
const tableInfo = db.prepare("PRAGMA table_info(auctions)").all();
const hasDataHash = tableInfo.some(col => col.name === 'data_hash');
const hasUpdatedAt = tableInfo.some(col => col.name === 'updated_at');
if (!hasDataHash) {
db.exec('ALTER TABLE auctions ADD COLUMN data_hash TEXT');
console.log('✓ Added data_hash column');
} else {
console.log('⊘ data_hash column already exists');
}
if (!hasUpdatedAt) {
db.exec('ALTER TABLE auctions ADD COLUMN updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP');
console.log('✓ Added updated_at column');
} else {
console.log('⊘ updated_at column already exists');
}
// Create index on data_hash
db.exec('CREATE INDEX IF NOT EXISTS idx_auctions_data_hash ON auctions(data_hash)');
console.log('✓ Created index on data_hash');
// Record this migration
db.exec(`
INSERT OR IGNORE INTO migrations (name)
VALUES ('006_add_data_hash_and_updated_at')
`);
console.log('\nMigration completed successfully!');
} catch (error) {
console.error('Error:', error.message);
process.exit(1);
} finally {
db.close();
}