Browse Source

基础框架发布: 8.2.39

1. 数据库表结构和数据导出时,提升选择表的效能

前端核心发布: 8.2.132
  1. 解决首页和工作台我完成的任务排序的问题
main
wangshaoping 2 days ago
parent
commit
e69753e441
  1. 6
      io.sc.platform.developer.frontend/src/views/backend/ExportLiquibase.vue
  2. 7
      io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/CsvExporter.java
  3. 8
      io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/PluginExporter.java
  4. 4
      io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/SchemaExporter.java
  5. 12
      io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/exporter/support/DataExportConfigure.java

6
io.sc.platform.developer.frontend/src/views/backend/ExportLiquibase.vue

@ -72,21 +72,21 @@
name: 'isExportDataCsvFile',
label: $t('developer.backend.export.liquibase.isExportDataCsvFile'),
type: 'w-checkbox',
modelValue: true,
modelValue: valueReactive.isExportDataCsvFile,
},
{
colSpan: 12,
name: 'isExportTableSchemaLiquibaseFile',
label: $t('developer.backend.export.liquibase.isExportTableSchemaLiquibaseFile'),
type: 'w-checkbox',
modelValue: true,
modelValue: valueReactive.isExportTableSchemaLiquibaseFile,
},
{
colSpan: 12,
name: 'isExportPlatformLiquibasePluginFile',
label: $t('developer.backend.export.liquibase.isExportPlatformLiquibasePluginFile'),
type: 'w-checkbox',
modelValue: true,
modelValue: valueReactive.isExportPlatformLiquibasePluginFile,
},
]"
>

7
io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/CsvExporter.java

@ -34,13 +34,18 @@ public class CsvExporter {
String outputDir =outputBasePath + "/src/main/resources/liquibase/data";
FileUtil.deldirs(outputDir);
new File(outputDir).mkdirs();
if(!configure.getIsExportDataCsvFile()) {
return;
}
String[] tableNames = ExportTable.getTableNames(configure.getTables());
// 获取需要操作的表信息
List<Table> tables = MetaDataLoader.newInstance().getTablesWithDetail(dataSource,configure.getCatalog(),configure.getSchema(),tableNames);
// 导出 csv 数据文件
for(Table table : tables){
progressInfo.setMessageKey(table.getName());
writeTable(outputDir,dataSource,table,configure,progressInfo,locale);
writeTable(outputDir, dataSource, table, configure, progressInfo, locale);
progressInfo.addWeight(1);
}

8
io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/PluginExporter.java

@ -14,6 +14,10 @@ public class PluginExporter {
FileUtil.deldirs(outputDir);
new File(outputDir).mkdirs();
if(!configure.getIsExportPlatformLiquibasePluginFile()){
return;
}
StringBuilder sb =new StringBuilder();
sb.append("[").append("\n");
sb.append(" {").append("\n");
@ -21,8 +25,12 @@ public class PluginExporter {
sb.append(" \"order\": 100000").append(",\n");
sb.append(" \"description\": \"\"").append(",\n");
sb.append(" \"locations\": [").append("\n");
if(configure.getIsExportTableSchemaLiquibaseFile()) {
sb.append(" \"").append("classpath:/liquibase/schema/").append(LiquibaseExporter.getLiquibaseChangeLogXmlFileName(configure)).append("_DDL.xml\"").append(",\n");
}
if(configure.getIsExportDataCsvFile()) {
sb.append(" \"").append("classpath:/liquibase/data/").append(LiquibaseExporter.getLiquibaseChangeLogXmlFileName(configure)).append("_DATA.xml\"").append("\n");
}
sb.append(" ]").append("\n");
sb.append(" }").append("\n");
sb.append("]").append("\n");

4
io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/SchemaExporter.java

@ -28,6 +28,10 @@ public class SchemaExporter {
FileUtil.deldirs(outputDir);
new File(outputDir).mkdirs();
if(!configure.getIsExportTableSchemaLiquibaseFile()) {
return;
}
String[] tableNames = ExportTable.getTableNames(configure.getTables());
XMLStreamWriter writer = WriterUtil.xmlStreamWriter(outputDir + "/" + LiquibaseExporter.getLiquibaseChangeLogXmlFileName(configure) + "_DDL.xml");

12
io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/exporter/support/DataExportConfigure.java

@ -56,27 +56,27 @@ public class DataExportConfigure {
this.tables = tables;
}
public boolean isExportDataCsvFile() {
public boolean getIsExportDataCsvFile() {
return isExportDataCsvFile;
}
public void setExportDataCsvFile(boolean exportDataCsvFile) {
public void setIsExportDataCsvFile(boolean exportDataCsvFile) {
isExportDataCsvFile = exportDataCsvFile;
}
public boolean isExportTableSchemaLiquibaseFile() {
public boolean getIsExportTableSchemaLiquibaseFile() {
return isExportTableSchemaLiquibaseFile;
}
public void setExportTableSchemaLiquibaseFile(boolean exportTableSchemaLiquibaseFile) {
public void setIsExportTableSchemaLiquibaseFile(boolean exportTableSchemaLiquibaseFile) {
isExportTableSchemaLiquibaseFile = exportTableSchemaLiquibaseFile;
}
public boolean isExportPlatformLiquibasePluginFile() {
public boolean getIsExportPlatformLiquibasePluginFile() {
return isExportPlatformLiquibasePluginFile;
}
public void setExportPlatformLiquibasePluginFile(boolean exportPlatformLiquibasePluginFile) {
public void setIsExportPlatformLiquibasePluginFile(boolean exportPlatformLiquibasePluginFile) {
isExportPlatformLiquibasePluginFile = exportPlatformLiquibasePluginFile;
}

Loading…
Cancel
Save