| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.Statement;
- /** Apply admin_ai_model.input_modalities migration to master DB. */
- public class ApplyAdminAiModelModalities {
- private static final String HOST = "cq-cdb-8fjmemkb.sql.tencentcdb.com:27220";
- private static final String USER = "root";
- private static final String PASS = "Ylrz_1q2w3e4r5t6y";
- public static void main(String[] args) throws Exception {
- Class.forName("com.mysql.cj.jdbc.Driver");
- String db = args.length > 0 ? args[0] : "ylrz_saas";
- String url = "jdbc:mysql://" + HOST + "/" + db
- + "?useSSL=false&serverTimezone=GMT%2B8&characterEncoding=utf8";
- try (Connection c = DriverManager.getConnection(url, USER, PASS);
- Statement st = c.createStatement()) {
- if (!columnExists(st, db, "admin_ai_model", "input_modalities")) {
- st.executeUpdate("ALTER TABLE admin_ai_model ADD COLUMN input_modalities VARCHAR(100) "
- + "DEFAULT 'text' COMMENT 'text,vision,audio comma-separated' AFTER status");
- System.out.println("[OK] added column input_modalities");
- } else {
- System.out.println("[SKIP] column input_modalities exists");
- }
- int v = st.executeUpdate("UPDATE admin_ai_model SET input_modalities='text,vision' WHERE ("
- + "LOWER(model_identifier) LIKE '%vision%' OR LOWER(model_identifier) LIKE '%-vl%' "
- + "OR LOWER(model_identifier) LIKE 'vl-%' OR LOWER(model_identifier) LIKE 'qwen-vl%' "
- + "OR LOWER(model_identifier) LIKE 'hunyuan-vision%')");
- System.out.println("[OK] vision models updated: " + v);
- int t = st.executeUpdate("UPDATE admin_ai_model SET input_modalities='text' "
- + "WHERE input_modalities IS NULL OR input_modalities=''");
- System.out.println("[OK] text default updated: " + t);
- System.out.println("Done " + db);
- }
- }
- private static boolean columnExists(Statement st, String db, String table, String column) throws Exception {
- ResultSet rs = st.executeQuery("SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='"
- + db.replace("'", "''") + "' AND TABLE_NAME='" + table + "' AND COLUMN_NAME='" + column + "'");
- rs.next();
- return rs.getInt(1) > 0;
- }
- }
|