public static void AddForeignKey(this Rock.Plugin.Migration migration, string dependentTable, string[] dependentColumns, string principalTable, string[] principalColumns = null, bool cascadeDelete = false, string name = null, object anonymousArguments = null)
        {
            var mini = new MiniMigration();

            mini.AddForeignKey(dependentTable, dependentColumns, principalTable, principalColumns, cascadeDelete, name, anonymousArguments);
            migration.Sql(mini.GetMigrationSql(migration.SqlConnection));
        }
        public static void CreateIndex(this Rock.Plugin.Migration migration, string table, string[] columns, bool unique = false, string name = null, bool clustered = false, object anonymousArguments = null)
        {
            var mini = new MiniMigration();

            mini.CreateIndex(table, columns, unique, name, clustered, anonymousArguments);
            migration.Sql(mini.GetMigrationSql(migration.SqlConnection));
        }
        public static void AddPrimaryKey(this Rock.Plugin.Migration migration, string table, string column, string name = null, bool clustered = true, object anonymousArguments = null)
        {
            var mini = new MiniMigration();

            mini.AddPrimaryKey(table, column, name, clustered, anonymousArguments);
            migration.Sql(mini.GetMigrationSql(migration.SqlConnection));
        }