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