@Override protected List<String> createSafeAlterColumnSqlsForChange(SchemaChangeContext context, ColumnDefinitionChange change) { List<String> sqls = new ArrayList<String>(); if(change.isUniqueChanged()){ sqls.add(getAddUniqueColumnSql(change.getTable(), change.getOldColumn().getName())); if(change.getPropertyChanges().size() > 1){ DbColumn c = new DbColumnBuilder(change.getNewColumn()).setUnique(false).build(); sqls.add(getAlterColumnSql(change.getTable(), c)); } }else{ sqls.add(getAlterColumnSql(change.getTable(), change.getNewColumn())); } return sqls; }
@Override protected List<String> createSafeAlterColumnSqlsForChange(SchemaChangeContext context, ColumnDefinitionChange change) { List<String> sqls = new ArrayList<String>(); if(change.isUniqueChanged()){ sqls.addAll(getAlterColumnUniqueSqls(change.getTable(), change.getOldColumn().getName())); if(change.getPropertyChanges().size() > 1){ DbColumn c = new DbColumnBuilder(change.getNewColumn()).setUnique(false).build(); sqls.add(getAlterColumnSql(change.getTable(), c)); } }else{ sqls.add(getAlterColumnSql(change.getTable(), change.getNewColumn())); } return sqls; }
@Override protected List<String> createSafeAlterColumnSqlsForChange(SchemaChangeContext context, ColumnDefinitionChange change) { List<String> sqls = new ArrayList<String>(); if(change.isUniqueChanged()){ sqls.addAll(getAlterColumnUniqueSqls(change.getTable(), change.getOldColumn().getName())); if(change.getPropertyChanges().size() > 1){ DbColumn c = new DbColumnBuilder(change.getNewColumn()).setUnique(false).build(); sqls.add(getAlterColumnSql(change.getTable(), c)); } }else{ sqls.add(getAlterColumnSql(change.getTable(), change.getNewColumn())); } return sqls; }
@Override protected List<String> createSafeAlterColumnSqlsForChange(SchemaChangeContext context, ColumnDefinitionChange change) { // TODO create safe alter column sqls for change List<String> sqls = new ArrayList<>(); if(change.isUniqueChanged()){ sqls.add(getAddUniqueColumnSql(change.getTable(), change.getOldColumn().getName())); if(change.getPropertyChanges().size() > 1){ DbColumn c = new DbColumnBuilder(change.getNewColumn()).setUnique(false).build(); sqls.add(getAlterColumnSql(change.getTable(), c, change.getOldColumn())); } }else{ sqls.add(getAlterColumnSql(change.getTable(), change.getNewColumn(), change.getOldColumn())); } DbColumn newColumn = change.getNewColumn(); if(!supportsColumnCommentInDefinition() && !Strings.isEmpty(newColumn.getComment())){ sqls.addAll(getCommentOnColumnSqls(change.getTable(),newColumn.getName(),newColumn.getComment())); } return sqls; } protected String getAddUniqueColumnSql(DbSchemaObjectName tableName,String columnName) {
DbColumn n = change.getNewColumn(); for(ColumnPropertyChange pc : change.getPropertyChanges()){ if(pc.isUnique()){
for(ColumnPropertyChange pc : change.getPropertyChanges()){ if(pc.isUnique()){ sqls.add(getAddUniqueColumnSql(t, o.getName()));