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 java.util.List;
|
||||||
|
|
||||||
import org.adempiere.exceptions.AdempiereException;
|
import org.adempiere.exceptions.AdempiereException;
|
||||||
|
import org.compiere.Adempiere;
|
||||||
import org.compiere.model.MClient;
|
import org.compiere.model.MClient;
|
||||||
|
import org.compiere.model.MColumn;
|
||||||
|
import org.compiere.model.MField;
|
||||||
import org.compiere.model.MProcessPara;
|
import org.compiere.model.MProcessPara;
|
||||||
import org.compiere.model.MRefTable;
|
import org.compiere.model.MRefTable;
|
||||||
import org.compiere.model.MSequence;
|
import org.compiere.model.MSequence;
|
||||||
import org.compiere.model.MTab;
|
import org.compiere.model.MTab;
|
||||||
import org.compiere.model.MTable;
|
import org.compiere.model.MTable;
|
||||||
|
import org.compiere.model.MWindow;
|
||||||
import org.compiere.model.M_Element;
|
import org.compiere.model.M_Element;
|
||||||
import org.compiere.model.Query;
|
import org.compiere.model.Query;
|
||||||
|
import org.compiere.util.CacheMgt;
|
||||||
import org.compiere.util.DB;
|
import org.compiere.util.DB;
|
||||||
import org.compiere.util.Msg;
|
import org.compiere.util.Msg;
|
||||||
import org.compiere.util.Util;
|
import org.compiere.util.Util;
|
||||||
|
|
@ -128,13 +133,11 @@ public class DatabaseTableRename extends SvrProcess {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Rename table in sequences
|
// 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())
|
List<MSequence> seqs = new Query(getCtx(), MSequence.Table_Name, whereSeq, get_TrxName())
|
||||||
.setParameters(
|
.setParameters(
|
||||||
oldTableName,
|
oldTableName,
|
||||||
"Table "+oldTableName,
|
"DocumentNo_"+oldTableName
|
||||||
"DocumentNo_"+oldTableName,
|
|
||||||
"DocumentNo/Value for Table "+oldTableName
|
|
||||||
)
|
)
|
||||||
.list();
|
.list();
|
||||||
for (MSequence seq : seqs) {
|
for (MSequence seq : seqs) {
|
||||||
|
|
@ -176,6 +179,11 @@ public class DatabaseTableRename extends SvrProcess {
|
||||||
table.setTableName(p_NewTableName);
|
table.setTableName(p_NewTableName);
|
||||||
table.saveEx();
|
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@";
|
return "@OK@";
|
||||||
}
|
}
|
||||||
} // DatabaseTableRename
|
} // DatabaseTableRename
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue