From efaf53eb393b7724ef09c46233af02997260606c Mon Sep 17 00:00:00 2001 From: RB Date: Wed, 22 Jan 2025 14:40:26 +0800 Subject: [PATCH] fix Table40 --- .../com/rebuild/core/metadata/impl/Entity2Schema.java | 11 ++++++++--- .../java/com/rebuild/core/metadata/impl/Table40.java | 3 ++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/rebuild/core/metadata/impl/Entity2Schema.java b/src/main/java/com/rebuild/core/metadata/impl/Entity2Schema.java index b9cf89f53..2a056c603 100644 --- a/src/main/java/com/rebuild/core/metadata/impl/Entity2Schema.java +++ b/src/main/java/com/rebuild/core/metadata/impl/Entity2Schema.java @@ -274,12 +274,17 @@ private Field createBuiltinField(Entity entity, String fieldName, String fieldLa */ private boolean schema2Database(Entity entity) { Dialect dialect = Application.getPersistManagerFactory().getDialect(); - List ixs = Arrays.asList( - EntityHelper.QuickCode, EntityHelper.OwningUser, EntityHelper.OwningDept, EntityHelper.CreatedOn, EntityHelper.ModifiedOn); + List ixs = Arrays.asList(EntityHelper.CreatedOn, EntityHelper.ModifiedOn); + if (entity.getMainEntity() != null) { + ixs.add(EntityHelper.QuickCode); + ixs.add(EntityHelper.OwningUser); + ixs.add(EntityHelper.OwningDept); + } Table table = new Table40(entity, dialect, ixs); - String[] ddls = table.generateDDL(false, false, false); + String[] ddls = null; try { + ddls = table.generateDDL(false, false, false); Application.getSqlExecutor().executeBatch(ddls, DDL_TIMEOUT); } catch (Throwable ex) { log.error("DDL Error : \n{}", StringUtils.join(ddls, "\n"), ex); diff --git a/src/main/java/com/rebuild/core/metadata/impl/Table40.java b/src/main/java/com/rebuild/core/metadata/impl/Table40.java index bcd77f64d..f330b8a86 100644 --- a/src/main/java/com/rebuild/core/metadata/impl/Table40.java +++ b/src/main/java/com/rebuild/core/metadata/impl/Table40.java @@ -12,6 +12,7 @@ import cn.devezhao.persist4j.dialect.Dialect; import cn.devezhao.persist4j.util.XmlHelper; import cn.devezhao.persist4j.util.support.Table; +import org.apache.commons.collections4.CollectionUtils; import org.dom4j.Element; import java.util.ArrayList; @@ -34,7 +35,7 @@ public Table40(Entity entity, Dialect dialect, List indexFields) { } private static List buildIndexList(List indexFields) { - if (indexFields == null || indexFields.isEmpty()) return null; + if (CollectionUtils.isEmpty(indexFields)) return null; List ixs = new ArrayList<>(); for (String indexField : indexFields) {