package scripts.qa; import java.io.File; import java.nio.file.Files; import java.sql.*; public class InspectUsers { public static void main(String[] args) { String dbUrl = "jdbc:kingbase8://127.0.0.1:4321/railwaysystem_integrated_qa_20260916?useUnicode=true&characterEncoding=utf8¤tSchema=public,sys_catalog"; String user = "kingbase"; String password = resolveDbPassword(); try { Class.forName("com.kingbase8.Driver"); try (Connection conn = DriverManager.getConnection(dbUrl, user, password)) { try (Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("SELECT u.user_id, u.user_name, u.nick_name, u.status, r.role_name, r.role_key FROM sys_user u LEFT JOIN sys_user_role ur ON u.user_id = ur.user_id LEFT JOIN sys_role r ON ur.role_id = r.role_id")) { System.out.println("--- USERS IN QA DB ---"); while (rs.next()) { System.out.println(String.format("ID: %d | username: %-15s | nick: %-15s | status: %s | role: %-15s | role_key: %s", rs.getLong(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6))); } } } } catch (Exception e) { e.printStackTrace(); } } private static String resolveDbPassword() { String env = System.getenv("DB_PASSWORD"); if (env != null && !env.isEmpty()) return env; try { File yml = new File("RuoYi-Vue/ruoyi-admin/src/main/resources/application-druid.yml"); if (yml.exists()) { for (String line : Files.readAllLines(yml.toPath())) { if (line.trim().startsWith("password:")) { return line.trim().substring("password:".length()).trim(); } } } } catch (Exception ignored) {} return ""; } }