| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import java.sql.*;
- public class CheckMissingColumns {
- public static void main(String[] args) {
- try {
- Class.forName("dm.jdbc.driver.DmDriver");
- Connection conn = DriverManager.getConnection("jdbc:dm://192.168.0.145:30236", "WATERSHED", "WaterShed./1224");
- Statement stmt = conn.createStatement();
- DatabaseMetaData meta = conn.getMetaData();
-
- System.out.println("??WATERSHED_MODEL???...");
- ResultSet columns = meta.getColumns(null, null, "WATERSHED_MODEL", null);
-
- // ??????
- java.util.Set<String> existingColumns = new java.util.HashSet<>();
- System.out.println("????");
- while (columns.next()) {
- String columnName = columns.getString("COLUMN_NAME");
- existingColumns.add(columnName);
- System.out.println(" - " + columnName);
- }
-
- // ????
- String[] requiredColumns = {
- "MODEL_ID", "MODEL_NAME", "DESCRIPTION", "CATEGORY",
- "SUBCATEGORY", "MODEL_TYPE", "MODEL_FORMAT", "FILE_PATH",
- "FILE_SIZE", "UPLOAD_UNIT", "STATUS", "CREATE_TIME", "UPDATE_TIME"
- };
-
- System.out.println("\n?????");
- for (String col : requiredColumns) {
- System.out.println(" - " + col + (existingColumns.contains(col) ? " ?" : " ? ??"));
- }
-
- // ??????
- System.out.println("\n??????...");
-
- // ?????DESCRIPTION?
- if (!existingColumns.contains("DESCRIPTION")) {
- System.out.println("??DESCRIPTION?...");
- stmt.executeUpdate("ALTER TABLE WATERSHED_MODEL ADD DESCRIPTION VARCHAR(500)");
- }
-
- // ?????CATEGORY?
- if (!existingColumns.contains("CATEGORY")) {
- System.out.println("??CATEGORY?...");
- stmt.executeUpdate("ALTER TABLE WATERSHED_MODEL ADD CATEGORY VARCHAR(50)");
- }
-
- // ?????SUBCATEGORY?
- if (!existingColumns.contains("SUBCATEGORY")) {
- System.out.println("??SUBCATEGORY?...");
- stmt.executeUpdate("ALTER TABLE WATERSHED_MODEL ADD SUBCATEGORY VARCHAR(50)");
- }
-
- // ????
- System.out.println("\n???????...");
- ResultSet queryRs = stmt.executeQuery("select model_id, model_name, description, category, subcategory, model_type, model_format, file_path, file_size, upload_unit, status, create_time, update_time from WATERSHED_MODEL");
- System.out.println("? ?????");
-
- stmt.close();
- conn.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
|