IDEMPIERE-6342 Issues when renaming a table that already has records saved (#2591)
This commit is contained in:
parent
f384951277
commit
751f6a5d33
|
@ -28,14 +28,19 @@ package org.compiere.process;
|
|||
import java.util.List;
|
||||
|
||||
import org.adempiere.exceptions.AdempiereException;
|
||||
import org.compiere.Adempiere;
|
||||
import org.compiere.model.MClient;
|
||||
import org.compiere.model.MColumn;
|
||||
import org.compiere.model.MField;
|
||||
import org.compiere.model.MProcessPara;
|
||||
import org.compiere.model.MRefTable;
|
||||
import org.compiere.model.MSequence;
|
||||
import org.compiere.model.MTab;
|
||||
import org.compiere.model.MTable;
|
||||
import org.compiere.model.MWindow;
|
||||
import org.compiere.model.M_Element;
|
||||
import org.compiere.model.Query;
|
||||
import org.compiere.util.CacheMgt;
|
||||
import org.compiere.util.DB;
|
||||
import org.compiere.util.Msg;
|
||||
import org.compiere.util.Util;
|
||||
|
@ -128,13 +133,11 @@ public class DatabaseTableRename extends SvrProcess {
|
|||
}
|
||||
|
||||
// Rename table in sequences
|
||||
String whereSeq = "(Name=? AND Description=? AND IsTableID='Y') OR (Name=? AND Description=? AND IsTableID='N')";
|
||||
String whereSeq = "(Name=? AND IsTableID='Y') OR (Name=? AND IsTableID='N')";
|
||||
List<MSequence> seqs = new Query(getCtx(), MSequence.Table_Name, whereSeq, get_TrxName())
|
||||
.setParameters(
|
||||
oldTableName,
|
||||
"Table "+oldTableName,
|
||||
"DocumentNo_"+oldTableName,
|
||||
"DocumentNo/Value for Table "+oldTableName
|
||||
"DocumentNo_"+oldTableName
|
||||
)
|
||||
.list();
|
||||
for (MSequence seq : seqs) {
|
||||
|
@ -175,7 +178,12 @@ public class DatabaseTableRename extends SvrProcess {
|
|||
|
||||
table.setTableName(p_NewTableName);
|
||||
table.saveEx();
|
||||
|
||||
|
||||
Adempiere.getThreadPoolExecutor().submit(() -> CacheMgt.get().reset(MColumn.Table_Name));
|
||||
Adempiere.getThreadPoolExecutor().submit(() -> CacheMgt.get().reset(MWindow.Table_Name));
|
||||
Adempiere.getThreadPoolExecutor().submit(() -> CacheMgt.get().reset(MTab.Table_Name));
|
||||
Adempiere.getThreadPoolExecutor().submit(() -> CacheMgt.get().reset(MField.Table_Name));
|
||||
|
||||
return "@OK@";
|
||||
}
|
||||
} // DatabaseTableRename
|
||||
|
|
Loading…
Reference in New Issue