public static SqlPreCommand CreateIndexBasic(Maps.TableIndex index, bool forHistoryTable) { var indexType = index is UniqueTableIndex ? "UNIQUE INDEX" : "INDEX"; var columns = index.Columns.ToString(c => c.Name.SqlEscape(), ", "); var include = index.IncludeColumns.HasItems() ? $" INCLUDE ({index.IncludeColumns.ToString(c => c.Name.SqlEscape(), ", ")})" : null; var where = index.Where.HasText() ? $" WHERE {index.Where}" : ""; var tableName = forHistoryTable ? index.Table.SystemVersioned !.TableName : index.Table.Name; return(new SqlPreCommandSimple($"CREATE {indexType} {index.IndexName} ON {tableName}({columns}){include}{where}")); }