diff --git a/docker-compose.tests.data.yml b/docker-compose.tests.data.yml
index 5f57ed4ab..e21a1d610 100644
--- a/docker-compose.tests.data.yml
+++ b/docker-compose.tests.data.yml
@@ -14,7 +14,10 @@ services:
mariadb:
image: mariadb:10
environment:
- MYSQL_ROOT_PASSWORD: filterlists
+ - MYSQL_ROOT_PASSWORD=filterlists
+ - MYSQL_DATABASE=filterlists
+ - MYSQL_USER=filterlists
+ - MYSQL_PASSWORD=filterlists
command:
[
"mysqld",
diff --git a/src/FilterLists.Api/Migrations/20181019141708_AddRuleRawIndex.Designer.cs b/src/FilterLists.Api/Migrations/20181019141708_AddRuleRawIndex.Designer.cs
deleted file mode 100644
index 98d2bc03f..000000000
--- a/src/FilterLists.Api/Migrations/20181019141708_AddRuleRawIndex.Designer.cs
+++ /dev/null
@@ -1,686 +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("20181019141708_AddRuleRawIndex")]
- partial class AddRuleRawIndex
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "2.1.4-rtm-31024")
- .HasAnnotation("Relational:MaxIdentifierLength", 64);
-
- modelBuilder.Entity("FilterLists.Data.Entities.FilterList", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("SMALLINT")
- .HasAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn);
-
- 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("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((short)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("DATETIME")
- .HasDefaultValueSql("NULL");
-
- b.Property("SubmissionUrl")
- .HasColumnType("TEXT");
-
- b.Property("SyntaxId");
-
- b.Property("UpdatedDate")
- .ValueGeneratedOnAdd()
- .HasColumnType("DATETIME")
- .HasDefaultValueSql("NULL");
-
- b.Property("ViewUrl")
- .HasColumnType("TEXT");
-
- b.Property("ViewUrlMirror1")
- .HasColumnType("TEXT");
-
- b.Property("ViewUrlMirror2")
- .HasColumnType("TEXT");
-
- b.HasKey("Id");
-
- b.HasIndex("LicenseId");
-
- b.HasIndex("SyntaxId");
-
- b.ToTable("filterlists");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Junctions.Dependent", b =>
- {
- b.Property("DependentFilterListId");
-
- b.Property("DependencyFilterListId");
-
- b.Property("CreatedDateUtc")
- .IsRequired()
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP")
- .HasDefaultValueSql("current_timestamp()");
-
- b.HasKey("DependentFilterListId", "DependencyFilterListId");
-
- b.HasIndex("DependencyFilterListId");
-
- b.ToTable("dependents");
- });
-
- 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.FilterListTag", b =>
- {
- b.Property("FilterListId");
-
- b.Property("TagId");
-
- b.Property("CreatedDateUtc")
- .IsRequired()
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP")
- .HasDefaultValueSql("current_timestamp()");
-
- b.HasKey("FilterListId", "TagId");
-
- b.HasIndex("TagId");
-
- b.ToTable("filterlists_tags");
- });
-
- 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("SnapshotId");
-
- b.Property("RuleId");
-
- b.HasKey("SnapshotId", "RuleId");
-
- 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")
- .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("SMALLINT")
- .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")
- .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")
- .HasAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn);
-
- b.Property("CreatedDateUtc")
- .IsRequired()
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP")
- .HasDefaultValueSql("current_timestamp()");
-
- b.Property("Raw")
- .IsRequired()
- .HasColumnType("LONGTEXT");
-
- b.HasKey("Id");
-
- b.HasIndex("Raw");
-
- b.ToTable("rules");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Snapshot", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("MEDIUMINT")
- .HasAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn);
-
- b.Property("CreatedDateUtc")
- .IsRequired()
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP")
- .HasDefaultValueSql("current_timestamp()");
-
- b.Property("FilterListId");
-
- b.Property("HttpStatusCode")
- .ValueGeneratedOnAdd()
- .HasColumnType("SMALLINT")
- .HasDefaultValueSql("NULL");
-
- b.Property("Md5Checksum")
- .HasColumnType("BINARY(16)");
-
- b.Property("ModifiedDateUtc")
- .IsRequired()
- .ValueGeneratedOnAddOrUpdate()
- .HasColumnType("TIMESTAMP")
- .HasDefaultValueSql("current_timestamp() ON UPDATE current_timestamp()");
-
- b.Property("WasSuccessful");
-
- b.Property("WasUpdated");
-
- b.Property("WaybackTimestamp")
- .HasColumnType("TIMESTAMP");
-
- b.Property("WaybackUrl")
- .HasColumnType("TEXT");
-
- b.HasKey("Id");
-
- b.HasIndex("FilterListId");
-
- b.ToTable("snapshots");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Software", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("SMALLINT")
- .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("IsAbpSubscribable");
-
- 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("SMALLINT")
- .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.Tag", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("SMALLINT")
- .HasAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn);
-
- b.Property("CreatedDateUtc")
- .IsRequired()
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP")
- .HasDefaultValueSql("current_timestamp()");
-
- b.Property("Description")
- .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("tags");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.FilterList", b =>
- {
- b.HasOne("FilterLists.Data.Entities.License", "License")
- .WithMany("FilterLists")
- .HasForeignKey("LicenseId");
-
- b.HasOne("FilterLists.Data.Entities.Syntax", "Syntax")
- .WithMany("FilterLists")
- .HasForeignKey("SyntaxId");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Junctions.Dependent", b =>
- {
- b.HasOne("FilterLists.Data.Entities.FilterList", "DependencyFilterList")
- .WithMany("DependencyFilterLists")
- .HasForeignKey("DependencyFilterListId")
- .OnDelete(DeleteBehavior.Cascade);
-
- b.HasOne("FilterLists.Data.Entities.FilterList", "DependentFilterList")
- .WithMany("DependentFilterLists")
- .HasForeignKey("DependentFilterListId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- 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.FilterListTag", b =>
- {
- b.HasOne("FilterLists.Data.Entities.FilterList", "FilterList")
- .WithMany("FilterListTags")
- .HasForeignKey("FilterListId")
- .OnDelete(DeleteBehavior.Cascade);
-
- b.HasOne("FilterLists.Data.Entities.Tag", "Tag")
- .WithMany("FilterListTags")
- .HasForeignKey("TagId")
- .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.Rule", "Rule")
- .WithMany("SnapshotRules")
- .HasForeignKey("RuleId")
- .OnDelete(DeleteBehavior.Cascade);
-
- b.HasOne("FilterLists.Data.Entities.Snapshot", "Snapshot")
- .WithMany("SnapshotRules")
- .HasForeignKey("SnapshotId")
- .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/20181019141708_AddRuleRawIndex.cs b/src/FilterLists.Api/Migrations/20181019141708_AddRuleRawIndex.cs
deleted file mode 100644
index 78c6524b5..000000000
--- a/src/FilterLists.Api/Migrations/20181019141708_AddRuleRawIndex.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using FilterLists.Api.Migrations.Extensions;
-using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace FilterLists.Api.Migrations
-{
- public partial class AddRuleRawIndex : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.CreateIndex(
- "IX_rules_Raw",
- "rules",
- "Raw",
- 3072);
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropIndex(
- "IX_rules_Raw",
- "rules");
- }
- }
-}
\ No newline at end of file
diff --git a/src/FilterLists.Api/Migrations/FilterListsDbContextModelSnapshot.cs b/src/FilterLists.Api/Migrations/FilterListsDbContextModelSnapshot.cs
index 83cf8ebac..4ea06d109 100644
--- a/src/FilterLists.Api/Migrations/FilterListsDbContextModelSnapshot.cs
+++ b/src/FilterLists.Api/Migrations/FilterListsDbContextModelSnapshot.cs
@@ -407,8 +407,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
b.HasKey("Id");
- b.HasIndex("Raw");
-
b.ToTable("rules");
});
diff --git a/src/FilterLists.Data/FilterListsDbContext.cs b/src/FilterLists.Data/FilterListsDbContext.cs
index 02c120a38..4970f6443 100644
--- a/src/FilterLists.Data/FilterListsDbContext.cs
+++ b/src/FilterLists.Data/FilterListsDbContext.cs
@@ -35,7 +35,6 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
ApplyConfigurations(modelBuilder);
- modelBuilder.Entity().HasIndex(r => r.Raw);
}
private static void ApplyConfigurations(ModelBuilder modelBuilder)
diff --git a/tests/FilterLists.Data.Tests/SeedFilterListsDbContextTests.cs b/tests/FilterLists.Data.Tests/SeedFilterListsDbContextTests.cs
index 9c9050d71..244b3b17c 100644
--- a/tests/FilterLists.Data.Tests/SeedFilterListsDbContextTests.cs
+++ b/tests/FilterLists.Data.Tests/SeedFilterListsDbContextTests.cs
@@ -1,8 +1,5 @@
-using System;
-using System.IO;
using FilterLists.Data.Seed.Extensions;
using Microsoft.EntityFrameworkCore;
-using MySql.Data.MySqlClient;
using Xunit;
namespace FilterLists.Data.Tests
@@ -12,22 +9,13 @@ public class SeedFilterListsDbContextTests
[Fact]
public async void SeedOrUpdateAsync_DoesNotThrowException()
{
- var connString = "Server=mariadb;Database=filterlists;Uid=root;Pwd=filterlists;";
+ const string connString = "Server=mariadb;Database=filterlists;Uid=filterlists;Pwd=filterlists;";
var options = new DbContextOptionsBuilder()
.UseMySql(connString, m => m.MigrationsAssembly("FilterLists.Api"))
.Options;
using (var context = new FilterListsDbContext(options))
{
- using (var conn = new MySqlConnection(connString))
- {
- await conn.OpenAsync();
- var cmd = new MySqlCommand(
- "CREATE DATABASE filterlists CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;",
- conn);
- await cmd.ExecuteNonQueryAsync();
- }
-
- await context.Database.MigrateAsync();
+ await context.Database.EnsureCreatedAsync();
await SeedFilterListsDbContext.SeedOrUpdateAsync(context, "../../../data");
}
}