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;
 }
  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();
  }