public string GetSql()
{
StringBuilder sql = new StringBuilder();
if (IsNew)
sql.AppendFormat("CREATE TABLE `{0}` (", Name);
else
sql.AppendFormat("ALTER TABLE `{0}` ", OldTable.Name);
string[] parts = new string[3];
parts[0] = Columns.GetSql(IsNew);
parts[1] = Indexes.GetSql(IsNew);
parts[2] = ForeignKeys.GetSql(IsNew);
string delimiter = "";
foreach (string s in parts)
{
if (!String.IsNullOrEmpty(s))
{
sql.AppendFormat("{0}{1}", delimiter, s);
delimiter = ", ";
}
}
if (IsNew)
sql.Append(")");
sql.Append(GetTableOptionSql(IsNew));
return sql.ToString();
}