public static void CreateFullTextIndex( this DbMigration migration, string table, string index, string[] columns) { var op = new CreateFullTextIndexOperation { Table = table, Index = index, Columns = columns }; ((IDbMigration)migration).AddOperation(op); }
public virtual void Generate(CreateFullTextIndexOperation createFullTextIndexOperation) { using (var writer = Writer()) { writer.WriteLine("IF(NOT EXISTS(SELECT * FROM SYS.fulltext_catalogs WHERE is_default = 1))"); writer.WriteLine("BEGIN"); writer.WriteLine(" CREATE FULLTEXT CATALOG DefaultFullTextCatalog AS DEFAULT"); writer.WriteLine("END"); writer.WriteLine(); writer.WriteLine("CREATE FULLTEXT INDEX ON {0} ({1})", Name(createFullTextIndexOperation.Table), string.Join(", ", createFullTextIndexOperation.Columns.Select(c => Quote(c)))); writer.WriteLine("KEY INDEX {0}", Quote(createFullTextIndexOperation.Index)); writer.WriteLine("WITH CHANGE_TRACKING AUTO"); Statement(writer.InnerWriter.ToString(), suppressTransaction: true); } }