first commit
This commit is contained in:
84
check_account.java
Normal file
84
check_account.java
Normal file
@@ -0,0 +1,84 @@
|
||||
import java.sql.*;
|
||||
|
||||
public class check_account {
|
||||
public static void main(String[] args) {
|
||||
String dbPath = "/home/renjianbo/gerrit_install/review_site/db/ReviewDB";
|
||||
|
||||
try {
|
||||
Class.forName("org.h2.Driver");
|
||||
String url = "jdbc:h2:" + dbPath + ";AUTO_SERVER=TRUE";
|
||||
Connection conn = DriverManager.getConnection(url, "sa", "");
|
||||
|
||||
System.out.println("=== 检查账户信息 ===\n");
|
||||
|
||||
// 检查 accounts 表(H2 数据库表名可能是大写)
|
||||
System.out.println("1. Accounts 表:");
|
||||
Statement stmt = conn.createStatement();
|
||||
// 先尝试查看所有表
|
||||
ResultSet tables = conn.getMetaData().getTables(null, null, "%", new String[]{"TABLE"});
|
||||
System.out.println(" 数据库中的表:");
|
||||
while (tables.next()) {
|
||||
System.out.println(" - " + tables.getString("TABLE_NAME"));
|
||||
}
|
||||
System.out.println();
|
||||
|
||||
// 尝试查询账户(使用大写表名)
|
||||
ResultSet rs = stmt.executeQuery("SELECT ACCOUNT_ID, FULL_NAME, PREFERRED_EMAIL, INACTIVE, REGISTERED_ON FROM ACCOUNTS ORDER BY ACCOUNT_ID");
|
||||
boolean hasAccounts = false;
|
||||
while (rs.next()) {
|
||||
hasAccounts = true;
|
||||
System.out.println(" Account ID: " + rs.getInt("ACCOUNT_ID"));
|
||||
System.out.println(" Full Name: " + rs.getString("FULL_NAME"));
|
||||
System.out.println(" Email: " + rs.getString("PREFERRED_EMAIL"));
|
||||
System.out.println(" Inactive: " + rs.getInt("INACTIVE"));
|
||||
System.out.println(" Registered: " + rs.getTimestamp("REGISTERED_ON"));
|
||||
System.out.println();
|
||||
}
|
||||
if (!hasAccounts) {
|
||||
System.out.println(" (无账户)");
|
||||
}
|
||||
|
||||
// 检查 account_external_ids 表
|
||||
System.out.println("2. Account External IDs 表:");
|
||||
rs = stmt.executeQuery("SELECT ACCOUNT_ID, EMAIL_ADDRESS, EXTERNAL_ID FROM ACCOUNT_EXTERNAL_IDS ORDER BY ACCOUNT_ID");
|
||||
boolean hasExtIds = false;
|
||||
while (rs.next()) {
|
||||
hasExtIds = true;
|
||||
System.out.println(" Account ID: " + rs.getInt("ACCOUNT_ID"));
|
||||
System.out.println(" Email: " + rs.getString("EMAIL_ADDRESS"));
|
||||
System.out.println(" External ID: " + rs.getString("EXTERNAL_ID"));
|
||||
System.out.println();
|
||||
}
|
||||
if (!hasExtIds) {
|
||||
System.out.println(" (无外部ID)");
|
||||
}
|
||||
|
||||
// 检查管理员组
|
||||
System.out.println("3. 管理员组成员:");
|
||||
rs = stmt.executeQuery(
|
||||
"SELECT a.ACCOUNT_ID, a.FULL_NAME " +
|
||||
"FROM ACCOUNTS a " +
|
||||
"JOIN ACCOUNT_GROUP_MEMBERS agm ON a.ACCOUNT_ID = agm.ACCOUNT_ID " +
|
||||
"JOIN ACCOUNT_GROUPS ag ON agm.GROUP_ID = ag.GROUP_ID " +
|
||||
"WHERE ag.NAME = 'Administrators' " +
|
||||
"ORDER BY a.ACCOUNT_ID"
|
||||
);
|
||||
boolean hasAdmins = false;
|
||||
while (rs.next()) {
|
||||
hasAdmins = true;
|
||||
System.out.println(" Account ID: " + rs.getInt("ACCOUNT_ID") + ", Name: " + rs.getString("FULL_NAME"));
|
||||
}
|
||||
if (!hasAdmins) {
|
||||
System.out.println(" (无管理员)");
|
||||
}
|
||||
|
||||
conn.close();
|
||||
System.out.println("\n=== 检查完成 ===");
|
||||
|
||||
} catch (Exception e) {
|
||||
System.err.println("错误: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user