Initial commit
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
const fs = require('fs');
|
||||
const { pool } = require('./src/db');
|
||||
|
||||
(async () => {
|
||||
var sql = fs.readFileSync('/tmp/cleanup-final.sql', 'utf8').split(';').filter(Boolean);
|
||||
|
||||
for (var i = 0; i < sql.length; i++) {
|
||||
if (!sql[i].trim()) continue;
|
||||
try {
|
||||
const r = await pool.query(sql[i].trim());
|
||||
if (r.rowCount > 0) console.log('Deleted', r.rowCount, 'matching:', sql[i].trim().substring(0, 50));
|
||||
} catch(e) {
|
||||
console.warn('Failed query:', e.message.substring(0, 60));
|
||||
}
|
||||
}
|
||||
|
||||
var c = await pool.query('SELECT COUNT(*) FROM casinos');
|
||||
console.log('\nTotal remaining:', c.rows[0].count);
|
||||
|
||||
// Show a clean sample to verify quality after cleanup
|
||||
const s = await pool.query(
|
||||
'SELECT DISTINCT casino_name FROM casinos WHERE LENGTH(TRIM(casino_name)) BETWEEN 3 AND 40 ORDER BY casino_name LIMIT 60'
|
||||
);
|
||||
|
||||
console.log('\n=== Sample after final cleanup ===\n');
|
||||
var goodN = 0, badN = 0;
|
||||
|
||||
for (var j = 0; j < s.rows.length; j++) {
|
||||
var name = s.rows[j].casino_name || '';
|
||||
|
||||
if (!name.match(/^[a-zA-Z]/)) continue;
|
||||
|
||||
var ok =
|
||||
name.length >= 3 && name.length <= 40 &&
|
||||
/[a-zA-Z]/.test(name[0]) &&
|
||||
(name.match(/[a-zA-Z]/g) || []).length / name.length > 0.5 &&
|
||||
!/(about|home|menu|nav|terms|privacy|contact|help)/i.test(name) &&
|
||||
!(name.length < 4);
|
||||
|
||||
if (ok) {
|
||||
console.log('✅', name.replace(/[^a-zA-Z0-9\s&]/g, '').trim());
|
||||
goodN++;
|
||||
} else {
|
||||
console.log('❌', JSON.stringify(name));
|
||||
badN++;
|
||||
}
|
||||
}
|
||||
|
||||
console.log('\nGood: ' + goodN + ', Bad: ' + badN);
|
||||
|
||||
await pool.end();
|
||||
})();
|
||||
Reference in New Issue
Block a user