From e59364c871c7f9c5a2f9ecc0cc342397dc7faab0 Mon Sep 17 00:00:00 2001 From: Collin Barrett Date: Sat, 18 Aug 2018 16:49:17 -0500 Subject: [PATCH] Revert "add unique index to raw rules [HARD RESET OF SNAPSHOT DATA )-:]" This reverts commit 58ad6f94041b9e371ad29fd937a0b59774ee0ebe. --- ...18204956_AddRuleRawUniqueIndex.Designer.cs | 597 ------------------ .../20180818204956_AddRuleRawUniqueIndex.cs | 39 -- .../FilterListsDbContextModelSnapshot.cs | 5 +- .../RuleTypeConfiguration.cs | 2 +- src/FilterLists.Data/FilterListsDbContext.cs | 6 - .../Snapshot/LineLinterExtensions.cs | 6 +- 6 files changed, 5 insertions(+), 650 deletions(-) delete mode 100644 src/FilterLists.Api/Migrations/20180818204956_AddRuleRawUniqueIndex.Designer.cs delete mode 100644 src/FilterLists.Api/Migrations/20180818204956_AddRuleRawUniqueIndex.cs diff --git a/src/FilterLists.Api/Migrations/20180818204956_AddRuleRawUniqueIndex.Designer.cs b/src/FilterLists.Api/Migrations/20180818204956_AddRuleRawUniqueIndex.Designer.cs deleted file mode 100644 index 2ef1362c9..000000000 --- a/src/FilterLists.Api/Migrations/20180818204956_AddRuleRawUniqueIndex.Designer.cs +++ /dev/null @@ -1,597 +0,0 @@ -// - -using System; -using FilterLists.Data; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace FilterLists.Api.Migrations -{ - [DbContext(typeof(FilterListsDbContext))] - [Migration("20180818204956_AddRuleRawUniqueIndex")] - partial class AddRuleRawUniqueIndex - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "2.1.1-rtm-30846") - .HasAnnotation("Relational:MaxIdentifierLength", 64); - - modelBuilder.Entity("FilterLists.Data.Entities.FilterList", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("SMALLINT UNSIGNED") - .HasAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn); - - b.Property("CantSnapshot"); - - b.Property("ChatUrl") - .HasColumnType("TEXT"); - - b.Property("CreatedDateUtc") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp()"); - - b.Property("Description") - .HasColumnType("TEXT"); - - b.Property("DescriptionSourceUrl") - .HasColumnType("TEXT"); - - b.Property("DiscontinuedDate") - .ValueGeneratedOnAdd() - .HasColumnType("DATE") - .HasDefaultValueSql("NULL"); - - b.Property("DonateUrl") - .HasColumnType("TEXT"); - - b.Property("EmailAddress") - .ValueGeneratedOnAdd() - .HasColumnType("VARCHAR(126)") - .HasDefaultValueSql("NULL"); - - b.Property("ForumUrl") - .HasColumnType("TEXT"); - - b.Property("HomeUrl") - .HasColumnType("TEXT"); - - b.Property("IssuesUrl") - .HasColumnType("TEXT"); - - b.Property("LicenseId") - .ValueGeneratedOnAdd() - .HasDefaultValue((byte)5); - - b.Property("ModifiedDateUtc") - .IsRequired() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp() ON UPDATE current_timestamp()"); - - b.Property("Name") - .IsRequired() - .HasColumnType("VARCHAR(126)"); - - b.Property("PolicyUrl") - .HasColumnType("TEXT"); - - b.Property("PublishedDate") - .ValueGeneratedOnAdd() - .HasColumnType("DATE") - .HasDefaultValueSql("NULL"); - - b.Property("SubmissionUrl") - .HasColumnType("TEXT"); - - b.Property("SyntaxId"); - - b.Property("ViewUrl") - .HasColumnType("TEXT"); - - b.HasKey("Id"); - - b.HasIndex("LicenseId"); - - b.HasIndex("SyntaxId"); - - b.ToTable("filterlists"); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Junctions.FilterListLanguage", b => - { - b.Property("FilterListId"); - - b.Property("LanguageId"); - - b.Property("CreatedDateUtc") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp()"); - - b.HasKey("FilterListId", "LanguageId"); - - b.HasIndex("LanguageId"); - - b.ToTable("filterlists_languages"); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Junctions.FilterListMaintainer", b => - { - b.Property("FilterListId"); - - b.Property("MaintainerId"); - - b.Property("CreatedDateUtc") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp()"); - - b.HasKey("FilterListId", "MaintainerId"); - - b.HasIndex("MaintainerId"); - - b.ToTable("filterlists_maintainers"); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Junctions.Fork", b => - { - b.Property("ForkFilterListId"); - - b.Property("UpstreamFilterListId"); - - b.Property("CreatedDateUtc") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp()"); - - b.HasKey("ForkFilterListId", "UpstreamFilterListId"); - - b.HasIndex("UpstreamFilterListId"); - - b.ToTable("forks"); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Junctions.Merge", b => - { - b.Property("MergeFilterListId"); - - b.Property("UpstreamFilterListId"); - - b.Property("CreatedDateUtc") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp()"); - - b.HasKey("MergeFilterListId", "UpstreamFilterListId"); - - b.HasIndex("UpstreamFilterListId"); - - b.ToTable("merges"); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Junctions.SnapshotRule", b => - { - b.Property("AddedBySnapshotId"); - - b.Property("RuleId"); - - b.Property("CreatedDateUtc") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp()"); - - b.Property("ModifiedDateUtc") - .IsRequired() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp() ON UPDATE current_timestamp()"); - - b.Property("RemovedBySnapshotId"); - - b.HasKey("AddedBySnapshotId", "RuleId"); - - b.HasIndex("RemovedBySnapshotId"); - - b.HasIndex("RuleId"); - - b.ToTable("snapshots_rules"); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Junctions.SoftwareSyntax", b => - { - b.Property("SyntaxId"); - - b.Property("SoftwareId"); - - b.Property("CreatedDateUtc") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp()"); - - b.HasKey("SyntaxId", "SoftwareId"); - - b.HasIndex("SoftwareId"); - - b.ToTable("software_syntaxes"); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Language", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("SMALLINT UNSIGNED") - .HasAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn); - - b.Property("CreatedDateUtc") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp()"); - - b.Property("Iso6391") - .ValueGeneratedOnAdd() - .HasColumnType("VARCHAR(2)") - .HasDefaultValueSql("NULL"); - - b.Property("Iso6392") - .ValueGeneratedOnAdd() - .HasColumnType("VARCHAR(3)") - .HasDefaultValueSql("NULL"); - - b.Property("Iso6392B") - .ValueGeneratedOnAdd() - .HasColumnType("VARCHAR(3)") - .HasDefaultValueSql("NULL"); - - b.Property("Iso6392T") - .ValueGeneratedOnAdd() - .HasColumnType("VARCHAR(3)") - .HasDefaultValueSql("NULL"); - - b.Property("Iso6393") - .ValueGeneratedOnAdd() - .HasColumnType("VARCHAR(3)") - .HasDefaultValueSql("NULL"); - - b.Property("LocalName") - .ValueGeneratedOnAdd() - .HasColumnType("VARCHAR(126)") - .HasDefaultValueSql("NULL"); - - b.Property("ModifiedDateUtc") - .IsRequired() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp() ON UPDATE current_timestamp()"); - - b.Property("Name") - .ValueGeneratedOnAdd() - .HasColumnType("VARCHAR(126)") - .HasDefaultValueSql("NULL"); - - b.HasKey("Id"); - - b.ToTable("languages"); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.License", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("TINYINT UNSIGNED") - .HasAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn); - - b.Property("CreatedDateUtc") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp()"); - - b.Property("DescriptionUrl") - .HasColumnType("TEXT"); - - b.Property("ModifiedDateUtc") - .IsRequired() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp() ON UPDATE current_timestamp()"); - - b.Property("Name") - .IsRequired() - .HasColumnType("VARCHAR(126)"); - - b.Property("PermissiveAdaptation"); - - b.Property("PermissiveCommercial"); - - b.HasKey("Id"); - - b.ToTable("licenses"); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Maintainer", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("SMALLINT UNSIGNED") - .HasAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn); - - b.Property("CreatedDateUtc") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp()"); - - b.Property("EmailAddress") - .ValueGeneratedOnAdd() - .HasColumnType("VARCHAR(126)") - .HasDefaultValueSql("NULL"); - - b.Property("HomeUrl") - .HasColumnType("TEXT"); - - b.Property("ModifiedDateUtc") - .IsRequired() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp() ON UPDATE current_timestamp()"); - - b.Property("Name") - .IsRequired() - .HasColumnType("VARCHAR(126)"); - - b.Property("TwitterHandle") - .ValueGeneratedOnAdd() - .HasColumnType("VARCHAR(126)") - .HasDefaultValueSql("NULL"); - - b.HasKey("Id"); - - b.ToTable("maintainers"); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Rule", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INT UNSIGNED") - .HasAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn); - - b.Property("CreatedDateUtc") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp()"); - - b.Property("Raw") - .IsRequired() - .HasColumnType("VARCHAR(768)"); - - b.HasKey("Id"); - - b.HasIndex("Raw") - .IsUnique(); - - b.ToTable("rules"); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Snapshot", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("MEDIUMINT UNSIGNED") - .HasAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn); - - b.Property("CreatedDateUtc") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp()"); - - b.Property("FilterListId"); - - b.Property("HttpStatusCode") - .ValueGeneratedOnAdd() - .HasColumnType("VARCHAR(3)") - .HasDefaultValueSql("NULL"); - - b.Property("ModifiedDateUtc") - .IsRequired() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp() ON UPDATE current_timestamp()"); - - b.Property("WasSuccessful"); - - b.HasKey("Id"); - - b.HasIndex("FilterListId"); - - b.ToTable("snapshots"); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Software", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("TINYINT UNSIGNED") - .HasAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn); - - b.Property("CreatedDateUtc") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp()"); - - b.Property("DownloadUrl") - .HasColumnType("TEXT"); - - b.Property("HomeUrl") - .HasColumnType("TEXT"); - - b.Property("ModifiedDateUtc") - .IsRequired() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp() ON UPDATE current_timestamp()"); - - b.Property("Name") - .IsRequired() - .HasColumnType("VARCHAR(126)"); - - b.HasKey("Id"); - - b.ToTable("software"); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Syntax", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("TINYINT UNSIGNED") - .HasAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn); - - b.Property("CreatedDateUtc") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp()"); - - b.Property("DefinitionUrl") - .HasColumnType("TEXT"); - - b.Property("ModifiedDateUtc") - .IsRequired() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("TIMESTAMP") - .HasDefaultValueSql("current_timestamp() ON UPDATE current_timestamp()"); - - b.Property("Name") - .IsRequired() - .HasColumnType("VARCHAR(126)"); - - b.HasKey("Id"); - - b.ToTable("syntaxes"); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.FilterList", b => - { - b.HasOne("FilterLists.Data.Entities.License", "License") - .WithMany("FilterLists") - .HasForeignKey("LicenseId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("FilterLists.Data.Entities.Syntax", "Syntax") - .WithMany("FilterLists") - .HasForeignKey("SyntaxId"); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Junctions.FilterListLanguage", b => - { - b.HasOne("FilterLists.Data.Entities.FilterList", "FilterList") - .WithMany("FilterListLanguages") - .HasForeignKey("FilterListId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("FilterLists.Data.Entities.Language", "Language") - .WithMany("FilterListLanguages") - .HasForeignKey("LanguageId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Junctions.FilterListMaintainer", b => - { - b.HasOne("FilterLists.Data.Entities.FilterList", "FilterList") - .WithMany("FilterListMaintainers") - .HasForeignKey("FilterListId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("FilterLists.Data.Entities.Maintainer", "Maintainer") - .WithMany("FilterListMaintainers") - .HasForeignKey("MaintainerId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Junctions.Fork", b => - { - b.HasOne("FilterLists.Data.Entities.FilterList", "ForkFilterList") - .WithMany("ForkFilterLists") - .HasForeignKey("ForkFilterListId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("FilterLists.Data.Entities.FilterList", "UpstreamFilterList") - .WithMany("UpstreamForkFilterLists") - .HasForeignKey("UpstreamFilterListId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Junctions.Merge", b => - { - b.HasOne("FilterLists.Data.Entities.FilterList", "MergeFilterList") - .WithMany("MergeFilterLists") - .HasForeignKey("MergeFilterListId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("FilterLists.Data.Entities.FilterList", "UpstreamFilterList") - .WithMany("UpstreamMergeFilterLists") - .HasForeignKey("UpstreamFilterListId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Junctions.SnapshotRule", b => - { - b.HasOne("FilterLists.Data.Entities.Snapshot", "AddedBySnapshot") - .WithMany("AddedSnapshotRules") - .HasForeignKey("AddedBySnapshotId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("FilterLists.Data.Entities.Snapshot", "RemovedBySnapshot") - .WithMany("RemovedSnapshotRules") - .HasForeignKey("RemovedBySnapshotId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("FilterLists.Data.Entities.Rule", "Rule") - .WithMany("SnapshotRules") - .HasForeignKey("RuleId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Junctions.SoftwareSyntax", b => - { - b.HasOne("FilterLists.Data.Entities.Software", "Software") - .WithMany("SoftwareSyntaxes") - .HasForeignKey("SoftwareId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("FilterLists.Data.Entities.Syntax", "Syntax") - .WithMany("SoftwareSyntaxes") - .HasForeignKey("SyntaxId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("FilterLists.Data.Entities.Snapshot", b => - { - b.HasOne("FilterLists.Data.Entities.FilterList", "FilterList") - .WithMany("Snapshots") - .HasForeignKey("FilterListId") - .OnDelete(DeleteBehavior.Cascade); - }); -#pragma warning restore 612, 618 - } - } -} \ No newline at end of file diff --git a/src/FilterLists.Api/Migrations/20180818204956_AddRuleRawUniqueIndex.cs b/src/FilterLists.Api/Migrations/20180818204956_AddRuleRawUniqueIndex.cs deleted file mode 100644 index b2fe071fb..000000000 --- a/src/FilterLists.Api/Migrations/20180818204956_AddRuleRawUniqueIndex.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace FilterLists.Api.Migrations -{ - public partial class AddRuleRawUniqueIndex : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AlterColumn( - "Raw", - "rules", - "VARCHAR(768)", - nullable: false, - oldClrType: typeof(string), - oldType: "VARCHAR(8192)"); - - migrationBuilder.CreateIndex( - "IX_rules_Raw", - "rules", - "Raw", - unique: true); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropIndex( - "IX_rules_Raw", - "rules"); - - migrationBuilder.AlterColumn( - "Raw", - "rules", - "VARCHAR(8192)", - nullable: false, - oldClrType: typeof(string), - oldType: "VARCHAR(768)"); - } - } -} \ No newline at end of file diff --git a/src/FilterLists.Api/Migrations/FilterListsDbContextModelSnapshot.cs b/src/FilterLists.Api/Migrations/FilterListsDbContextModelSnapshot.cs index 516c476ef..944ec6e94 100644 --- a/src/FilterLists.Api/Migrations/FilterListsDbContextModelSnapshot.cs +++ b/src/FilterLists.Api/Migrations/FilterListsDbContextModelSnapshot.cs @@ -377,13 +377,10 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.Property("Raw") .IsRequired() - .HasColumnType("VARCHAR(768)"); + .HasColumnType("VARCHAR(8192)"); b.HasKey("Id"); - b.HasIndex("Raw") - .IsUnique(); - b.ToTable("rules"); }); diff --git a/src/FilterLists.Data/EntityTypeConfigurations/RuleTypeConfiguration.cs b/src/FilterLists.Data/EntityTypeConfigurations/RuleTypeConfiguration.cs index d6539e533..cc3088574 100644 --- a/src/FilterLists.Data/EntityTypeConfigurations/RuleTypeConfiguration.cs +++ b/src/FilterLists.Data/EntityTypeConfigurations/RuleTypeConfiguration.cs @@ -14,7 +14,7 @@ public override void Configure(EntityTypeBuilder entityTypeBuilder) .HasColumnType("INT UNSIGNED"); entityTypeBuilder.Ignore(x => x.ModifiedDateUtc); entityTypeBuilder.Property(x => x.Raw) - .HasColumnType("VARCHAR(768)") + .HasColumnType("VARCHAR(8192)") .IsRequired(); } } diff --git a/src/FilterLists.Data/FilterListsDbContext.cs b/src/FilterLists.Data/FilterListsDbContext.cs index 9fbc09867..1b592cc0c 100644 --- a/src/FilterLists.Data/FilterListsDbContext.cs +++ b/src/FilterLists.Data/FilterListsDbContext.cs @@ -32,7 +32,6 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); ApplyConfigurations(modelBuilder); - ApplyIndexes(modelBuilder); } private static void ApplyConfigurations(ModelBuilder modelBuilder) @@ -53,10 +52,5 @@ private static void ApplyConfigurations(ModelBuilder modelBuilder) modelBuilder.ApplyConfiguration(new SnapshotRuleTypeConfiguration()); modelBuilder.ApplyConfiguration(new SoftwareSyntaxTypeConfiguration()); } - - private static void ApplyIndexes(ModelBuilder modelBuilder) - { - modelBuilder.Entity(b => { b.HasIndex(e => e.Raw).IsUnique(); }); - } } } \ No newline at end of file diff --git a/src/FilterLists.Services/Snapshot/LineLinterExtensions.cs b/src/FilterLists.Services/Snapshot/LineLinterExtensions.cs index 0df3e0891..14675b0b5 100644 --- a/src/FilterLists.Services/Snapshot/LineLinterExtensions.cs +++ b/src/FilterLists.Services/Snapshot/LineLinterExtensions.cs @@ -5,11 +5,11 @@ public static class LineLinterExtensions public static string LintLine(this string line) { line = line.Trim(); - line = line.TruncateIfTooLong(); + line = line.DropIfTooLong(); return line; } - private static string TruncateIfTooLong(this string line) => - line.Length > 768 ? line.Substring(0, 768) : line; + private static string DropIfTooLong(this string line) => + line.Length > 8192 ? null : line; } } \ No newline at end of file