/// <summary>
        /// New table expression.
        /// </summary>
        /// <example>
        ///     Database.ChangeTable("Roles", t => {
        ///         t.ChangeColumn("Description").Text;     // Changes description field data type.
        ///         t.RemoveColumn("Name");                 // Removes name field.
        ///         t.Integer("Priority");                  // Adds priority integer field.
        ///     });
        /// </example>
        /// <param name="transformationProvider">The transformation provider.</param>
        /// <param name="tableName">Name of the table.</param>
        /// <param name="tableDefinition">The table change expressions.</param>
        public static void ChangeTable(this ITransformationProvider transformationProvider, String tableName, Action <ChangeTable> tableDefinition)
        {
            var table = new ChangeTable(tableName);

            tableDefinition(table);
            table.Migrate(transformationProvider);
        }