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"); } }