protected void checkForColumnTypeDefinitionChange(List<ColumnPropertyChange> changes, DbTable sourceTable, DbColumn sourceColumn, DbTable targetTable, DbColumn targetColumn){ String sourceTypeDef = dialect.getColumnTypeDefinition(sourceColumn); String targetTypeDef = dialect.getColumnTypeDefinition(targetColumn); if(!compareColumnTypeDefinition(sourceColumn, sourceTypeDef, targetColumn, targetTypeDef)){ log.debug("Type definition changed in column '{}.{}', [{}] -> [{}]", sourceTable.getName(), sourceColumn.getName(), targetTypeDef, sourceTypeDef); String[] sourceTypeAndSize = splitTypeAndSize(sourceTypeDef); String[] targetTypeAndSize = splitTypeAndSize(targetTypeDef); //check for type changed if(!Strings.equals(sourceTypeAndSize[0],targetTypeAndSize[0])){ changes.add(new ColumnPropertyChange(targetColumn, ColumnPropertyChange.TYPE, targetTypeAndSize[0], sourceTypeAndSize[0]).setTable(sourceTable)); } //check for size changed if(!Strings.equals(sourceTypeAndSize[1],targetTypeAndSize[1])){ changes.add(new ColumnPropertyChange(targetColumn, ColumnPropertyChange.SIZE, targetTypeAndSize[1], sourceTypeAndSize[1]).setTable(sourceTable)); } } }
if(pc.isUnique()){ sqls.add(getAddUniqueColumnSql(t, o.getName())); continue; if(pc.isDefault()){ if(Strings.isEmpty(n.getDefaultValue())){ sqls.add("ALTER TABLE " + qualifySchemaObjectName(t) + if(pc.isNullable()){ sqls.add("ALTER TABLE " + qualifySchemaObjectName(t) + " ALTER COLUMN " + quoteIdentifier(o.getName()) + if(pc.isSize()) { DbColumnType type = getColumnType(n); String typeDefinition = getColumnTypeDefinition(n,type); if(pc.isComment()){
if(pc.isUnique()){ if(pc.isDefault()){ if(Strings.isEmpty(n.getDefaultValue())){ sqls.add("ALTER TABLE " + qualifySchemaObjectName(t) + if(pc.isNullable()){ sqls.add("ALTER TABLE " + qualifySchemaObjectName(t) + " ALTER COLUMN " + quoteIdentifier(o.getName()) + if(pc.isSize()) { DbColumnType type = getColumnType(n); String typeDefinition = getColumnTypeDefinition(n,type); if(pc.isComment()){
protected void checkForColumnNullableChange(List<ColumnPropertyChange> changes, DbTable sourceTable, DbColumn sourceColumn, DbTable targetTable, DbColumn targetColumn){ if(sourceColumn.isNullable() != targetColumn.isNullable()){ log.debug("Nullable changed in column '{}.{}', [{}] -> [{}]", sourceTable.getName(), sourceColumn.getName(), targetColumn.isNullable() ? "null" : "not null", sourceColumn.isNullable() ? "null" : "not null"); changes.add(new ColumnPropertyChange(targetColumn, ColumnPropertyChange.NULLABLE, targetColumn.isNullable(), sourceColumn.isNullable()).setTable(sourceTable)); } }
protected void checkForColumnUniqueChange(List<ColumnPropertyChange> changes, DbTable sourceTable, DbColumn sourceColumn, DbTable targetTable, DbColumn targetColumn){ if(sourceColumn.isUnique() != targetColumn.isUnique()){ log.debug("Unique changed in column '{}.{}', [{}] -> [{}]", sourceTable.getName(), sourceColumn.getName(), targetColumn.isUnique() ? "unique" : "", sourceColumn.isUnique() ? "unique" : ""); changes.add(new ColumnPropertyChange(targetColumn, ColumnPropertyChange.UNIQUE, targetColumn.isUnique(), sourceColumn.isUnique()).setTable(sourceTable)); } }
protected void checkForColumnCommentChange(List<ColumnPropertyChange> changes, DbTable sourceTable, DbColumn sourceColumn, DbTable targetTable, DbColumn targetColumn){ if(!Strings.equals(sourceColumn.getComment(), targetColumn.getComment())){ log.debug("Comment changed in column '{}.{}', [{}] -> [{}] ", sourceTable.getName(), sourceColumn.getName(), targetColumn.getComment(), sourceColumn.getComment()); changes.add(new ColumnPropertyChange(targetColumn,ColumnPropertyChange.COMMENT, targetColumn.getComment(), sourceColumn.getComment()).setTable(sourceTable)); } }
protected void checkForColumnDefaultValueChange(List<ColumnPropertyChange> changes, DbTable sourceTable, DbColumn sourceColumn, DbTable targetTable, DbColumn targetColumn){ if(!Strings.equals(sourceColumn.getDefaultValue(), targetColumn.getDefaultValue())){ log.debug("Default value changed in column '{}.{}', [{}] -> [{}]", sourceTable.getName(), sourceColumn.getName(), targetColumn.getDefaultValue(), sourceColumn.getDefaultValue()); changes.add(new ColumnPropertyChange(targetColumn, ColumnPropertyChange.DEFAULT, targetColumn.getDefaultValue(), sourceColumn.getDefaultValue()).setTable(sourceTable)); } }