createTable method

String createTable()

Implementation

String createTable() {
  StringBuffer sql = StringBuffer();
  sql.write(sqlStrings.getCreateTableString(tableName, false)+"( ");
  bool isFirst=true;
  smd.getTableByName(tableName)!.getFieldList().forEach((fmd) {
    if(!isFirst) sql.write(", ");
    sql.write("             " +
        fmd.fieldName +
        " " +
        sqlStrings.getDataTypeString(fmd.fieldDataType, fmd.fieldSize));
    if (fmd.notNull)
      sql.write("NOT NULL ");
    else
      sql.write(" ");
    if(fmd.autoIncrement)
      sql.write(sqlStrings.getAutoIncrementString());
    isFirst=false;
  });
  TableMetaData tmd=smd.getTableByName(tableName)!;
  if(tmd.uniqueKeyMap!=null) {
    tmd.uniqueKeyMap!.forEach((k,v) {
      sql.write(" ,");
      sql.write("CONSTRAINT $k UNIQUE (");
      bool isFirstField=true;
      v.forEach((fieldName) {
        if(!isFirstField) sql.write(",");
        sql.write("$fieldName");
        isFirstField=false;
      });
      sql.write(")");
    });
  }
  sql.write(") ");
  return StringUtils.formatSql(sql.toString());
}