/
201208222227425_PackageIndexes.cs
33 lines (28 loc) · 1.45 KB
/
201208222227425_PackageIndexes.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
namespace NuGetGallery.Migrations
{
using System.Data.Entity.Migrations;
public partial class PackageIndexes : DbMigration
{
public override void Up()
{
// Used by VS search.
Sql(@"Create NonClustered Index IX_Package_Search On [dbo].[Packages] ([IsLatestStable],[IsLatest],[Listed],[IsPrerelease])
Include ([Key],[PackageRegistrationKey],[Description],[Summary],[Tags])");
// Used in the package page
Sql(@"Create NonClustered Index IX_PackageDependencies On [dbo].[PackageDependencies] ([PackageKey])
Include ([Key])");
// Used for paging and sorting results
CreateIndex(table: "Packages", columns: new[] { "PackageRegistrationKey", "Version" }, unique: true, name: "IX_Package_Version");
// Adding an index on the package Id in PackageRegistrations
Sql(@"Create Unique Index IX_PackageRegistration_Id on [dbo].[PackageRegistrations] (DownloadCount desc, Id asc)
Include ([Key])");
}
public override void Down()
{
DropIndex(table: "Packages", name: "IX_Package_Search");
DropIndex(table: "PackageDependencies", name: "IX_PackageDependencies");
DropIndex(table: "Packages", name: "IX_Package_Version");
DropIndex(table: "PackageRegistrations", name: "IX_PackageRegistration_Id");
}
}
}