Ver Fonte

修复设置mysql engine无效

zhou-hao há 7 anos atrás
pai
commit
c32987b225

+ 6 - 4
hsweb-starter/hsweb-spring-boot-starter/src/main/java/org/hswebframework/web/starter/SystemInitializeAutoConfiguration.java

@@ -127,18 +127,20 @@ public class SystemInitializeAutoConfiguration implements CommandLineRunner, Bea
                 break;
                 break;
             case mysql:
             case mysql:
                 String engine = environment.getProperty("mysql.engine");
                 String engine = environment.getProperty("mysql.engine");
-
-                metaData = new MysqlRDBDatabaseMetaData();
-                metaData.setParser(new MysqlTableMetaParser(sqlExecutor));
                 if (StringUtils.hasText(engine)) {
                 if (StringUtils.hasText(engine)) {
-                    ((MysqlRDBDatabaseMetaData) metaData).setEngine(engine);
+                    metaData = new MysqlRDBDatabaseMetaData(engine);
+                } else {
+                    metaData = new MysqlRDBDatabaseMetaData();
                 }
                 }
+                metaData.setParser(new MysqlTableMetaParser(sqlExecutor));
                 break;
                 break;
             default:
             default:
                 metaData = new H2RDBDatabaseMetaData();
                 metaData = new H2RDBDatabaseMetaData();
                 metaData.setParser(new H2TableMetaParser(sqlExecutor));
                 metaData.setParser(new H2TableMetaParser(sqlExecutor));
                 break;
                 break;
         }
         }
+        metaData.init();
+
         SimpleDatabase database = new SimpleDatabase(metaData, sqlExecutor);
         SimpleDatabase database = new SimpleDatabase(metaData, sqlExecutor);
         database.setAutoParse(true);
         database.setAutoParse(true);
         SystemInitialize initialize = new SystemInitialize(sqlExecutor, database, version);
         SystemInitialize initialize = new SystemInitialize(sqlExecutor, database, version);