check-tenant-db.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. const mysql = require('mysql2/promise')
  2. const DB_CFG = {
  3. host: 'cq-cdb-8fjmemkb.sql.tencentcdb.com',
  4. port: 27220,
  5. user: 'root',
  6. password: 'Ylrz_1q2w3e4r5t6y',
  7. database: 'ylrz_saas'
  8. }
  9. function dbNameFromUrl(url) {
  10. if (!url) return null
  11. const m = String(url).match(/\/([^/?]+)(?:\?|$)/)
  12. return m ? m[1] : null
  13. }
  14. async function main() {
  15. const conn = await mysql.createConnection(DB_CFG)
  16. const tenantId = process.argv[2] || '32'
  17. const [rows] = await conn.query(
  18. 'SELECT id, tenant_code, db_url FROM tenant_info WHERE id = ?',
  19. [tenantId]
  20. )
  21. console.log('tenant:', rows[0])
  22. const [tables] = await conn.query("SHOW TABLES LIKE 'lobster_channel%'")
  23. console.log('ylrz_saas lobster tables:', tables)
  24. const dbName = dbNameFromUrl(rows[0] && rows[0].db_url)
  25. if (dbName) {
  26. const tconn = await mysql.createConnection({ ...DB_CFG, database: dbName })
  27. const [tt] = await tconn.query("SHOW TABLES LIKE 'lobster_channel%'")
  28. console.log(dbName + ' lobster tables:', tt)
  29. await tconn.end()
  30. }
  31. await conn.end()
  32. }
  33. main().catch(e => { console.error(e); process.exit(1) })