protected string getDefaultValue(Column column) { if (column.IsStringType()) return encloseWithQuote(column.DefaultValue.Trim()); else if (column.IsNumericType()) return column.DefaultValue.Trim().Trim('\''); else return encloseWithQuote(column.DefaultValue.Trim()); }
public string GetColumnDDL(Column column) { StringBuilder columnDDL = new StringBuilder(); string columnTypeName = DbTypeToString(column.ColumnType).ToLowerInvariant(); columnDDL.Append("[" + column.Name + "] " + columnTypeName); if (columnTypeName == "char" || columnTypeName == "varchar" || columnTypeName == "nchar" || columnTypeName == "nvarchar") columnDDL.Append("(" + (column.Length == 0 ? 50 : column.Length) + ")"); //if (column.ColumnType == DbType.VarChar || column.ColumnType == DbType.Text) // fieldDDL.Append(" CHARACTER SET utf8 COLLATE utf8_turkish_ci"); columnDDL.Append(column.IsNullable ? "" : " NOT NULL"); if (column.IsPrimaryKey) columnDDL.Append(" PRIMARY KEY"); if (column.IsAutoIncrement) columnDDL.Append(" AUTOINCREMENT"); if (!string.IsNullOrEmpty(column.DefaultValue)) columnDDL.Append(" DEFAULT " + getDefaultValue(column)); if (column.ReferenceColumn != null) columnDDL.Append(" REFERENCES [" + column.ReferenceColumn.Table.Name + "]([" + column.ReferenceColumn.Name + "])"); if (column.IsStringType()) columnDDL.Append(" COLLATE NOCASE"); return columnDDL.ToString(); }