use of org.jumpmind.db.model.Column in project symmetric-ds by JumpMind.
the class OracleDdlBuilder method processChange.
protected void processChange(Database currentModel, Database desiredModel, ColumnDefaultValueChange change, StringBuilder ddl) {
boolean changeNeeded = true;
String newValue = change.getNewDefaultValue();
String oldValue = change.getChangedColumn().getDefaultValue();
if ((oldValue == null && "NULL".equals(newValue)) || (newValue == null && "NULL".equals(oldValue))) {
changeNeeded = false;
}
if (changeNeeded) {
writeTableAlterStmt(change.getChangedTable(), ddl);
ddl.append(" MODIFY (");
Column column = change.getChangedColumn();
column.setDefaultValue(change.getNewDefaultValue());
printIdentifier(getColumnName(column), ddl);
ddl.append(" DEFAULT ");
writeColumnDefaultValue(change.getChangedTable(), column, ddl);
ddl.append(" )");
printEndOfStatement(ddl);
}
}
use of org.jumpmind.db.model.Column in project symmetric-ds by JumpMind.
the class OracleDdlBuilder method processChange.
protected void processChange(Database currentModel, Database desiredModel, ColumnSizeChange change, StringBuilder ddl) {
writeTableAlterStmt(change.getChangedTable(), ddl);
ddl.append(" MODIFY ");
Column column = change.getChangedColumn();
column.setSizeAndScale(change.getNewSize(), change.getNewScale());
printIdentifier(getColumnName(column), ddl);
ddl.append(" ");
ddl.append(getSqlType(column));
printEndOfStatement(ddl);
}
use of org.jumpmind.db.model.Column in project symmetric-ds by JumpMind.
the class PostgreSqlDdlBuilder method writeAlterColumnDataTypeToBigInt.
@Override
protected boolean writeAlterColumnDataTypeToBigInt(ColumnDataTypeChange change, StringBuilder ddl) {
writeTableAlterStmt(change.getChangedTable(), ddl);
ddl.append(" ALTER COLUMN ");
Column column = change.getChangedColumn();
column.setTypeCode(change.getNewTypeCode());
printIdentifier(getColumnName(column), ddl);
ddl.append(" TYPE ");
ddl.append(getSqlType(column));
printEndOfStatement(ddl);
return true;
}
use of org.jumpmind.db.model.Column in project symmetric-ds by JumpMind.
the class PostgreSqlDdlBuilder method processChange.
protected boolean processChange(Database currentModel, Database desiredModel, ColumnAutoIncrementChange change, StringBuilder ddl) {
boolean autoIncrement = !change.getColumn().isAutoIncrement();
if (!autoIncrement) {
writeTableAlterStmt(change.getChangedTable(), ddl);
ddl.append(" ALTER COLUMN ");
Column column = change.getColumn();
printIdentifier(getColumnName(column), ddl);
ddl.append(" DROP DEFAULT ");
printEndOfStatement(ddl);
return true;
} else {
return false;
}
}
use of org.jumpmind.db.model.Column in project symmetric-ds by JumpMind.
the class PostgreSqlDdlBuilder method processChange.
protected void processChange(Database currentModel, Database desiredModel, ColumnSizeChange change, StringBuilder ddl) {
writeTableAlterStmt(change.getChangedTable(), ddl);
ddl.append(" ALTER COLUMN ");
Column column = change.getChangedColumn();
column.setSizeAndScale(change.getNewSize(), change.getNewScale());
printIdentifier(getColumnName(column), ddl);
ddl.append(" TYPE ");
ddl.append(getSqlType(column));
printEndOfStatement(ddl);
}
Aggregations