import { Client } from 'pg'; const SOURCE_DATABASE_URL = 'postgresql://rabbit:g39j90p11@10.85.92.236:5433/dev'; async function checkSourceDatabase() { const client = new Client({ connectionString: SOURCE_DATABASE_URL, }); try { console.log('Connecting to source database...'); await client.connect(); console.log('Connected successfully!\n'); const tables = [ 'user_profiles', 'user_identities', 'inventory_devices', 'devices', 'device_registrations', 'device_certificates', 'device_configurations', 'device_security_events', 'camera_devices', 'raw_events', 'validated_events', 'analysis_results', 'subscription_plans', 'user_subscriptions', 'subscription_history', 'payment_records', 'weather_stations', 'weather_observations', 'weather_forecasts', ]; console.log('Table counts in source database:'); console.log('================================'); let totalRows = 0; for (const table of tables) { try { const result = await client.query(`SELECT count(*) FROM ${table}`); const count = parseInt(result.rows[0].count, 10); console.log(`${table.padEnd(25)} : ${count}`); totalRows += count; } catch (error: any) { console.log(`${table.padEnd(25)} : ERROR - ${error.message}`); } } console.log('================================'); console.log(`Total rows: ${totalRows}`); // Check user_identities details console.log('\n\nUser identities with email provider:'); const emailUsers = await client.query( "SELECT email FROM user_identities WHERE provider = 'email'" ); console.log(`Found ${emailUsers.rows.length} email users:`); emailUsers.rows.forEach((row) => console.log(` - ${row.email}`)); } catch (error) { console.error('Error:', error); } finally { await client.end(); } } checkSourceDatabase();