schambers/fluentmigrator — pull request #518 by mwpowellhtx (2014-08-11 01:14:54+00:00)
Title: Added AsVarcharString and WithEnumColumn extension methods

I added a couple of extension methods.

I placed them both in the FluentMigrator namespace in order to appear transparent where they are used: i.e. Create.Table.Such.And.Such. That said, feel free to merge as you see fit.

The extensions are as follows:

```C#
public static ICreateTableColumnOptionOrWithColumnSyntax AsVarcharString(
this ICreateTableColumnAsTypeSyntax columnTypeSyntax,
int size,
bool nullable = false)
{
//...
}
```

* **AsVarcharString**: works from the base interface that I could determine and extends out from there, also as near as I could determine. The interfaces may not be quite right for broader usage. And/or this may not be the best place to guarantee and/or "persuade" the VARCHAR issue.

```C#
public static ICreateTableColumnOptionOrWithColumnSyntax WithEnumColumn(
this ICreateTableColumnOptionOrWithColumnSyntax tableColumnOptionOrWithColumnSyntax,
string name,
bool nullable = false)
{
// ...
}
```

* **WithEnumColumn**: along similar lines as *AsVarcharString* re: placement, in/out interfaces, and so on. Found this was helpful when specifying stringified enums in a database persistence model. I am using (Fluent) NHibernate as a frame of reference, but I do not see why this wouldn't extend into similar ORM, such as Entity Framework, for instance.