package pl.llp.aircasting.storage.db; import java.util.List; /** * Created by ags on 10/07/12 at 14:26 */ public class CreateSQLWriter { String createSql(SchemaCreator.Table table, int revision) { StringBuilder builder = new StringBuilder(); builder.append("CREATE TABLE "); builder.append(table.getName()); builder.append(" ("); builder.append(createPrimaryKey(table.getPrimaryKey())); List<SchemaCreator.Column> columns = table.getColumns(); for (SchemaCreator.Column column : columns) { if(column.getAppearedInRevision() > revision) continue; builder.append(", \n "); builder.append(column.getName()); builder.append(" "); builder.append(column.getDatatype().getTypeName()); } builder.append(" )"); return builder.toString(); } StringBuilder createPrimaryKey(SchemaCreator.Column column) { StringBuilder b = new StringBuilder(20); b.append(column.getName()); b.append(" "); b.append(column.getDatatype().getTypeName()); b.append(" PRIMARY KEY "); return b; } }