fix: table diff is none when index or fk is modified (#280)
This commit is contained in:
parent
bb2e5a786a
commit
01fa3284b6
|
@ -109,10 +109,21 @@ public class DocumentDiffChecker {
|
|||
|
||||
BaseTypeFieldEqualFunction eq = new BaseTypeFieldEqualFunction(IGNORE_FIELDS);
|
||||
DiffType diffType = eq.apply(currentTable, originalTable) ? DiffType.NONE : DiffType.MODIFIED;
|
||||
boolean indexModified = indexDiffs.stream()
|
||||
.anyMatch(indexDiff -> indexDiff.getDiffType() != DiffType.NONE);
|
||||
boolean triggerModified = triggerDiffs.stream()
|
||||
.anyMatch(triggerDiff -> triggerDiff.getDiffType() != DiffType.NONE);
|
||||
boolean fkModified = fkDiffs.stream()
|
||||
.anyMatch(fkDiff -> fkDiff.getDiffType() != DiffType.NONE);
|
||||
if (indexModified || triggerModified || fkModified) {
|
||||
diffType = DiffType.MODIFIED;
|
||||
}
|
||||
|
||||
// workaround for diffType = NONE
|
||||
if (diffType == DiffType.NONE) {
|
||||
originalTable = null;
|
||||
}
|
||||
|
||||
return TableDocDiff.builder()
|
||||
.id(currentTable.getId())
|
||||
.diffType(diffType)
|
||||
|
|
|
@ -13,6 +13,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||
import java.sql.Connection;
|
||||
import java.sql.DatabaseMetaData;
|
||||
import java.sql.SQLException;
|
||||
import java.util.PriorityQueue;
|
||||
|
||||
@Slf4j
|
||||
public class MetaProviders {
|
||||
|
@ -73,6 +74,7 @@ public class MetaProviders {
|
|||
}
|
||||
|
||||
private static DatabaseMetaProvider sqlServer() {
|
||||
SqlServerColumnMetaProvider var = new SqlServerColumnMetaProvider();
|
||||
var columnMetaProvider = new SqlServerColumnMetaProvider();
|
||||
var foreignKeyMetaProvider = new JdbcForeignKeyMetaProvider();
|
||||
var indexMetaProvider = new JdbcIndexMetaProvider();
|
||||
|
@ -87,6 +89,9 @@ public class MetaProviders {
|
|||
}
|
||||
|
||||
private static DatabaseMetaProvider postgresql() {
|
||||
var queue = new PriorityQueue<Integer>();
|
||||
queue.offer(1);
|
||||
|
||||
var columnMetaProvider = new JdbcColumnMetaProvider();
|
||||
var foreignKeyMetaProvider = new JdbcForeignKeyMetaProvider();
|
||||
var indexMetaProvider = new JdbcIndexMetaProvider();
|
||||
|
|
Loading…
Reference in New Issue