Fluent Migrator Class Generator v1

by Frank Perez June 1, 2014

Continuing the pattern of updating every product, I'm releasing the next version of FMG (Fluent Migrator Class Generator) with the following features:

  • Installation Program
  • User Interface
  • SQL Compact Data
  • Digitally Signed

Installation Program

FMG now includes a real installation program. The installation program will automatically verify that all of the required components (Microsoft .NET Framework 4.5 and Microsoft SQL Server Compact 4.0) exist. If a required component doesn't exist, the installation program will download and install it.

User Interface

FMG now includes a user interface. The user interface simplifies the setup process and makes interacting with FMG easier.

Project List

The Project List is the main form. This form displays the current status of every project and is used to perform project maintenance (new, edit, delete).


  • New Project: displays the Project Maintenance with a new project.
  • Edit Project: displays the Project Maintenance form for the selected project.
  • Delete Project: permanently deletes the selected project.

Project Maintenance

The Project Maintenance form is used to define the project settings. This form includes the ability to test the settings and to perform the Fluent Migrator Class generation process.


  • Project Settings: Description and Destination Folder are required.
  • Database Settings: all settings are required.
  • Class Settings: Namespace, Migration No, and Class Name are required.

Test Button

The Project and Database settings include a Test button.

Run Tool Button

The Run button is used to perform the Fluent Migrator Class generation process.

SQL Compact Data

FMG now stores the project information in a SQL Compact 4.0 Database. The database is located in the Common Program Data folder. On a Windows 7 PC, this equates to C:\ProgramData\PF Solutions\Fluent Migrator Class Generator\.

Digitally Signed

All of the FMG EXE and DLL files are now digitally signed.

Download http://pfsolutions-mi.com/Product/FluentMigratorClassGenerator


Filed Under: .NET | FMG

Fluent Migrator Class Generator v0.2.0.0

by Frank Perez October 16, 2012

It has been a couple of months since I first released the Fluent Migrator Class Generator utility. In that time there has been several updates to the Fluent Migrator project on GitHub so this release addresses some of the changes.

The first enhancement is an optional Profile setting. A Profile is a Migration Class Attribute that can be used by the Migration Runner to filter which migrations will be performed. For example, you might have migrations that should only run on the Developer Test Database. See the Fluent Migrator Profile Wiki for more information.

The second enhancement is also optional. It is a Tags setting. Tags are also a Migration Class Attribute that can be used by the Migration Runner to filter which migrations will be performed. See the Fluent Migrator Tags Wiki for more information.

The final modification is a change in the way that unique constraints / indexes are handled. In the previous version the Create.Index expression was used.

Create Index

To be compatible with Fluent Migrator v1.0.3.0, the Create.UniqueConstraint expression must be used.

Create Constraint

An updated version of this application can be downloaded from http://pfsolutions-mi.com/Product/FluentMigratorClassGenerator.


Filed Under: .NET | FMG

Fluent Migrator Class Generator v0.1.0.0

by Frank Perez August 23, 2012

Earlier this year at the CodeMash conference in Sandusky, Ohio I heard about a NuGet Package called Fluent Migrator. Fluent Migrator is a database migration framework that uses classes for performing database migrations. Up until this point, the way I typically handled database migrations was to write T-SQL scripts or use a commercial application. So when I learned that I could accomplish database migrations using simple classes in .NET, I was intrigued.

The image above demonstrates how to use a Fluent Migrator class to perform a database migration (create table, create index, create foreign key, etc.). There are also similar expressions for deleting columns, altering tables, altering columns, and etc. I'm not going to go into all the details about how to use the framework. I think there is enough information on the project site to help anyone get started.

The one problem I found when using the Fluent Migrator framework is the barrier to getting started when the database already exists. Fluent Migrator does not have any kind of class generate utility that can build the initial class with all of the necessary create schema, table, column, and etc. commands. That means I would have to either use a T-SQL script of the current structure and then use Fluent Migrator classes for any future migrations. Or I could spend a significant amount of time building the initial class myself.

Since I'm the kind of person who hates monotonous work and thinking that I would want to use Fluent Migrator for several existing projects, I created my own utility for building the class called Fluent Migrator Class Generator. Fluent Migrator Class Generator is a console application for generating a Fluent Migrator class based on an existing SQL Server Database.

If you would like a copy of this application, you can download the latest version using the link below. The following is a list of important notes:

  • This application requires the Microsoft .NET Framework 4 Client Profile.
  • This application has only been tested with SQL Server 2008 R2. Other versions may work, but there could be issues mapping newer data types.
  • Be sure to read the README.TXT file for instructions on running the application.
  • I'd love to hear any feedback. What do you like, what do you not like, what kind of features would you like to see in future versions?

Download Fluent Migrator Class Generator http://pfsolutions-mi.com/Product/FluentMigratorClassGenerator
Fluent Migrator Project Site http://nuget.org/packages/FluentMigrator
Microsoft .NET Framework 4 Client Profile http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5765d7a8-7722-4888-a970-ac39b33fd8ab


Filed Under: .NET | FMG

About Frank

Frank lives in West Bloomfield, Michigan with his wife and three children.  When he is not writing code, he enjoys long distance running and riding his motorcycle.

Month List

Tag Cloud