20260821230656
This commit is contained in:
1 parent
2e5d532f23
commit
c43b4c8364
144 files changed
+7665
-242
No files matched your search
@@ -0,0 +1,40 @@
|
||||
import java.io.FileInputStream;
|
||||
import java.sql.*;
|
||||
import java.util.Properties;
|
||||
public class Verify {
|
||||
public static void main(String[] args) throws Exception {
|
||||
Properties props = new Properties();
|
||||
try (FileInputStream in = new FileInputStream(args[0])) { props.load(in); }
|
||||
try (Connection conn = DriverManager.getConnection(props.getProperty("url"), props.getProperty("username"), props.getProperty("password"))) {
|
||||
// 1. identity columns
|
||||
try (Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(
|
||||
"SELECT OBJECT_NAME(ic.object_id) AS tbl, ic.name, ic.is_identity FROM sys.identity_columns ic WHERE ic.name='b_id'")) {
|
||||
System.out.println("== identity columns on b_id ==");
|
||||
if (!rs.next()) System.out.println(" NONE (all s_* tables b_id no longer identity)");
|
||||
else { do { System.out.println(" " + rs.getString("tbl")); } while (rs.next()); }
|
||||
}
|
||||
// 2. all PKs still exist
|
||||
try (Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(
|
||||
"SELECT OBJECT_NAME(kc.parent_object_id) AS tbl, kc.name FROM sys.key_constraints kc WHERE kc.type='PK' AND kc.parent_object_id IN (SELECT object_id FROM sys.tables WHERE name LIKE 's' + char(95) + '%') ORDER BY 1")) {
|
||||
System.out.println("== PKs ==");
|
||||
while (rs.next()) System.out.println(" " + rs.getString("tbl") + " " + rs.getString("name"));
|
||||
}
|
||||
// 3. table count
|
||||
try (Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("SELECT COUNT(*) FROM sys.tables")) {
|
||||
rs.next(); System.out.println("total_tables=" + rs.getInt(1));
|
||||
}
|
||||
// 4. FK count (should still be 0)
|
||||
try (Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("SELECT COUNT(*) FROM sys.foreign_keys")) {
|
||||
rs.next(); System.out.println("physical_fk_count=" + rs.getInt(1));
|
||||
}
|
||||
// 5. b_user unchanged
|
||||
try (Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("SELECT is_identity FROM sys.columns WHERE object_id=OBJECT_ID('b_user') AND name='b_id'")) {
|
||||
rs.next(); System.out.println("b_user.b_id is_identity=" + rs.getBoolean("is_identity"));
|
||||
}
|
||||
// 6. select from b_user to confirm it's still readable
|
||||
try (Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("SELECT COUNT(*) FROM b_user")) {
|
||||
rs.next(); System.out.println("b_user row_count=" + rs.getInt(1));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user