QueryLobsterMenus.java 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import java.sql.*;
  2. /**
  3. * Query lobster menus from master + tenant DB for init script alignment.
  4. * Usage: java -cp ".;lib/mysql-connector-j-8.0.33.jar" QueryLobsterMenus [tenantDb]
  5. */
  6. public class QueryLobsterMenus {
  7. private static final String HOST = "cq-cdb-8fjmemkb.sql.tencentcdb.com:27220";
  8. private static final String USER = "root";
  9. private static final String PASS = "Ylrz_1q2w3e4r5t6y";
  10. private static final String MASTER = "ylrz_saas";
  11. public static void main(String[] args) throws Exception {
  12. Class.forName("com.mysql.cj.jdbc.Driver");
  13. String tenantDb = args.length > 0 ? args[0] : "fs_tenant_cs1";
  14. dump("MASTER tenant_sys_menu", MASTER, "tenant_sys_menu");
  15. dump("MASTER tenant_company_menu", MASTER, "tenant_company_menu");
  16. dump("TENANT sys_menu", tenantDb, "sys_menu");
  17. dump("TENANT company_menu (company_id=338)", tenantDb, "company_menu", " AND company_id=338");
  18. }
  19. private static void dump(String label, String db, String table) throws Exception {
  20. dump(label, db, table, "");
  21. }
  22. private static void dump(String label, String db, String table, String extra) throws Exception {
  23. System.out.println("\n======== " + label + " ========");
  24. String sql = "SELECT menu_id, menu_name, parent_id, order_num, path, component, visible, status "
  25. + "FROM " + table + " WHERE menu_id=29900 OR parent_id=29900" + extra
  26. + " ORDER BY parent_id, order_num, menu_id";
  27. try (Connection c = open(db); Statement st = c.createStatement(); ResultSet rs = st.executeQuery(sql)) {
  28. while (rs.next()) {
  29. System.out.printf("[%d] parent=%d order=%d vis=%s | %s | %s | %s%n",
  30. rs.getLong("menu_id"), rs.getLong("parent_id"), rs.getInt("order_num"),
  31. rs.getString("visible"), rs.getString("menu_name"),
  32. rs.getString("path"), rs.getString("component"));
  33. }
  34. }
  35. }
  36. private static Connection open(String db) throws Exception {
  37. return DriverManager.getConnection(
  38. "jdbc:mysql://" + HOST + "/" + db + "?useSSL=false&serverTimezone=GMT%2B8&characterEncoding=utf8",
  39. USER, PASS);
  40. }
  41. }