Search in sources :

Example 56 with Column

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);
    }
}
Also used : Column(org.jumpmind.db.model.Column)

Example 57 with Column

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);
}
Also used : Column(org.jumpmind.db.model.Column)

Example 58 with Column

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;
}
Also used : Column(org.jumpmind.db.model.Column)

Example 59 with Column

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;
    }
}
Also used : Column(org.jumpmind.db.model.Column)

Example 60 with Column

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);
}
Also used : Column(org.jumpmind.db.model.Column)

Aggregations

Column (org.jumpmind.db.model.Column)179 Table (org.jumpmind.db.model.Table)78 ArrayList (java.util.ArrayList)34 IndexColumn (org.jumpmind.db.model.IndexColumn)23 PlatformColumn (org.jumpmind.db.model.PlatformColumn)21 Test (org.junit.Test)16 Row (org.jumpmind.db.sql.Row)15 LinkedHashMap (java.util.LinkedHashMap)12 ResultSet (java.sql.ResultSet)11 DmlStatement (org.jumpmind.db.sql.DmlStatement)10 SqlException (org.jumpmind.db.sql.SqlException)10 InvocationTargetException (java.lang.reflect.InvocationTargetException)9 IIndex (org.jumpmind.db.model.IIndex)9 HashMap (java.util.HashMap)8 ForeignKey (org.jumpmind.db.model.ForeignKey)8 CsvData (org.jumpmind.symmetric.io.data.CsvData)8 PreparedStatement (java.sql.PreparedStatement)7 IOException (java.io.IOException)6 SQLException (java.sql.SQLException)6 Reference (org.jumpmind.db.model.Reference)6