# 检查并添加缺少的列 $classpath = "d:\VUEobject\ModelPlatform\ruoyi-admin\lib\DmJdbcDriver18-8.1.2.192.jar" # 创建检查脚本 $javaCode = @' 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 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(); } } } '@ # 保存Java代码到文件 $javaCode | Out-File -FilePath "d:\VUEobject\ModelPlatform\CheckMissingColumns.java" -Encoding ascii # 编译Java代码 javac -cp $classpath "d:\VUEobject\ModelPlatform\CheckMissingColumns.java" # 运行Java程序 java -cp "$classpath;d:\VUEobject\ModelPlatform" CheckMissingColumns