package dbmigrate.executor; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; import dbmigrate.model.db.IColumn; import dbmigrate.model.operation.CreateTableOperationDescriptor; public class CreateTableExecutor extends GeneralExecutor<CreateTableOperationDescriptor> { public CreateTableExecutor(Connection connection) { this.setConnection(connection); } public String createSql(CreateTableOperationDescriptor operation) { String sql = "CREATE TABLE \"" + operation.getTable().getName() + "\" ( "; for (IColumn c : operation.getTable().getColumns()) { sql += c.getSqlDescription() + ","; } sql = sql.substring(0, sql.length() - 1) + ");"; return sql; } public void execute(CreateTableOperationDescriptor operation) throws SQLException { Statement stmt = this.getConnection().createStatement(); stmt.executeUpdate(this.createSql(operation)); } }