diff --git a/src/FilterLists.Api/Migrations/20180127183029_InitialCreate.Designer.cs b/src/FilterLists.Api/Migrations/20180127183029_InitialCreate.Designer.cs
deleted file mode 100644
index 7f19b4db0..000000000
--- a/src/FilterLists.Api/Migrations/20180127183029_InitialCreate.Designer.cs
+++ /dev/null
@@ -1,447 +0,0 @@
-//
-using FilterLists.Data;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Metadata;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage;
-using Microsoft.EntityFrameworkCore.Storage.Internal;
-using System;
-
-namespace FilterLists.Api.Migrations
-{
- [DbContext(typeof(FilterListsDbContext))]
- [Migration("20180127183029_InitialCreate")]
- partial class InitialCreate
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn)
- .HasAnnotation("ProductVersion", "2.0.1-rtm-125");
-
- modelBuilder.Entity("FilterLists.Data.Entities.FilterList", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("SMALLINT UNSIGNED");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Description")
- .HasColumnType("TEXT");
-
- b.Property("DescriptionSourceUrl")
- .HasColumnType("TEXT");
-
- b.Property("DiscontinuedDate");
-
- b.Property("DonateUrl")
- .HasColumnType("TEXT");
-
- b.Property("EmailAddress")
- .HasColumnType("NVARCHAR(126)");
-
- b.Property("ForumUrl")
- .HasColumnType("TEXT");
-
- b.Property("HomeUrl")
- .HasColumnType("TEXT");
-
- b.Property("IssuesUrl")
- .HasColumnType("TEXT");
-
- b.Property("LicenseId");
-
- b.Property("ModifiedDateUtc")
- .ValueGeneratedOnAddOrUpdate()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Name")
- .HasColumnType("NVARCHAR(126) NOT NULL");
-
- b.Property("SubmissionUrl")
- .HasColumnType("TEXT");
-
- b.Property("SyntaxId");
-
- b.Property("ViewUrl")
- .HasColumnType("TEXT NOT NULL");
-
- 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")
- .ValueGeneratedOnAdd()
- .HasColumnType("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")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.HasKey("FilterListId", "MaintainerId");
-
- b.HasIndex("MaintainerId");
-
- b.ToTable("filterlists_maintainers");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Junctions.FilterListRule", b =>
- {
- b.Property("FilterListId");
-
- b.Property("RuleId");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.HasKey("FilterListId", "RuleId");
-
- b.HasIndex("RuleId");
-
- b.ToTable("filterlists_rules");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Junctions.Fork", b =>
- {
- b.Property("ForkFilterListId");
-
- b.Property("UpstreamFilterListId");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("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")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.HasKey("MergeFilterListId", "UpstreamFilterListId");
-
- b.HasIndex("UpstreamFilterListId");
-
- b.ToTable("merges");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Junctions.SoftwareSyntax", b =>
- {
- b.Property("SoftwareId");
-
- b.Property("SyntaxId");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.HasKey("SoftwareId", "SyntaxId");
-
- b.HasIndex("SyntaxId");
-
- b.ToTable("software_syntaxes");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Language", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("SMALLINT UNSIGNED");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Iso6391")
- .HasColumnType("NVARCHAR(2)");
-
- b.Property("Iso6392")
- .HasColumnType("NVARCHAR(3)");
-
- b.Property("Iso6392B")
- .HasColumnType("NVARCHAR(3)");
-
- b.Property("Iso6392T")
- .HasColumnType("NVARCHAR(3)");
-
- b.Property("Iso6393")
- .HasColumnType("NVARCHAR(3)");
-
- b.Property("LocalName")
- .HasColumnType("NVARCHAR(126)");
-
- b.Property("ModifiedDateUtc")
- .ValueGeneratedOnAddOrUpdate()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Name")
- .HasColumnType("NVARCHAR(126)");
-
- b.HasKey("Id");
-
- b.ToTable("languages");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.License", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("SMALLINT UNSIGNED");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.Property("DescriptionUrl")
- .HasColumnType("TEXT");
-
- b.Property("ModifiedDateUtc")
- .ValueGeneratedOnAddOrUpdate()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Name")
- .HasColumnType("NVARCHAR(126) NOT NULL");
-
- 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");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.Property("EmailAddress")
- .HasColumnType("NVARCHAR(126)");
-
- b.Property("HomeUrl")
- .HasColumnType("TEXT");
-
- b.Property("ModifiedDateUtc")
- .ValueGeneratedOnAddOrUpdate()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Name")
- .HasColumnType("NVARCHAR(126) NOT NULL");
-
- b.Property("TwitterHandle")
- .HasColumnType("NVARCHAR(126)");
-
- b.HasKey("Id");
-
- b.ToTable("maintainers");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Rule", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("BIGINT UNSIGNED");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Raw")
- .HasColumnType("NVARCHAR(2083) NOT NULL");
-
- b.HasKey("Id");
-
- b.ToTable("rules");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Software", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("SMALLINT UNSIGNED");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.Property("DownloadUrl")
- .HasColumnType("TEXT");
-
- b.Property("HomeUrl")
- .HasColumnType("TEXT");
-
- b.Property("ModifiedDateUtc")
- .ValueGeneratedOnAddOrUpdate()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Name")
- .HasColumnType("NVARCHAR(126) NOT NULL");
-
- b.HasKey("Id");
-
- b.ToTable("software");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Syntax", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("SMALLINT UNSIGNED");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.Property("DefinitionUrl")
- .HasColumnType("TEXT");
-
- b.Property("ModifiedDateUtc")
- .ValueGeneratedOnAddOrUpdate()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Name")
- .HasColumnType("NVARCHAR(126) NOT NULL");
-
- b.HasKey("Id");
-
- b.ToTable("syntaxes");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.FilterList", b =>
- {
- b.HasOne("FilterLists.Data.Entities.License")
- .WithMany("FilterLists")
- .HasForeignKey("LicenseId");
-
- b.HasOne("FilterLists.Data.Entities.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.FilterListRule", b =>
- {
- b.HasOne("FilterLists.Data.Entities.FilterList", "FilterList")
- .WithMany("FilterListRules")
- .HasForeignKey("FilterListId")
- .OnDelete(DeleteBehavior.Cascade);
-
- b.HasOne("FilterLists.Data.Entities.Rule", "Rule")
- .WithMany("FilterListRules")
- .HasForeignKey("RuleId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Junctions.Fork", b =>
- {
- b.HasOne("FilterLists.Data.Entities.FilterList", "ForkFilterList")
- .WithMany()
- .HasForeignKey("ForkFilterListId")
- .OnDelete(DeleteBehavior.Cascade);
-
- b.HasOne("FilterLists.Data.Entities.FilterList", "UpstreamFilterList")
- .WithMany()
- .HasForeignKey("UpstreamFilterListId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Junctions.Merge", b =>
- {
- b.HasOne("FilterLists.Data.Entities.FilterList", "MergeFilterList")
- .WithMany()
- .HasForeignKey("MergeFilterListId")
- .OnDelete(DeleteBehavior.Cascade);
-
- b.HasOne("FilterLists.Data.Entities.FilterList", "UpstreamFilterList")
- .WithMany()
- .HasForeignKey("UpstreamFilterListId")
- .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);
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/src/FilterLists.Api/Migrations/20180127183029_InitialCreate.cs b/src/FilterLists.Api/Migrations/20180127183029_InitialCreate.cs
deleted file mode 100644
index 0f7a1bdb8..000000000
--- a/src/FilterLists.Api/Migrations/20180127183029_InitialCreate.cs
+++ /dev/null
@@ -1,382 +0,0 @@
-using System;
-using Microsoft.EntityFrameworkCore.Metadata;
-using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace FilterLists.Api.Migrations
-{
- public partial class InitialCreate : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.CreateTable(
- "languages",
- table => new
- {
- Id = table.Column("SMALLINT UNSIGNED", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
- CreatedDateUtc = table.Column("TIMESTAMP", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
- Iso6391 = table.Column("NVARCHAR(2)", nullable: true),
- Iso6392 = table.Column("NVARCHAR(3)", nullable: true),
- Iso6392B = table.Column("NVARCHAR(3)", nullable: true),
- Iso6392T = table.Column("NVARCHAR(3)", nullable: true),
- Iso6393 = table.Column("NVARCHAR(3)", nullable: true),
- LocalName = table.Column("NVARCHAR(126)", nullable: true),
- ModifiedDateUtc = table.Column("TIMESTAMP", nullable: false),
- Name = table.Column("NVARCHAR(126)", nullable: true)
- },
- constraints: table => { table.PrimaryKey("PK_languages", x => x.Id); });
-
- migrationBuilder.CreateTable(
- "licenses",
- table => new
- {
- Id = table.Column("SMALLINT UNSIGNED", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
- CreatedDateUtc = table.Column("TIMESTAMP", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
- DescriptionUrl = table.Column("TEXT", nullable: true),
- ModifiedDateUtc = table.Column("TIMESTAMP", nullable: false),
- Name = table.Column("NVARCHAR(126) NOT NULL", nullable: true),
- PermissiveAdaptation = table.Column(nullable: false),
- PermissiveCommercial = table.Column(nullable: false)
- },
- constraints: table => { table.PrimaryKey("PK_licenses", x => x.Id); });
-
- migrationBuilder.CreateTable(
- "maintainers",
- table => new
- {
- Id = table.Column("SMALLINT UNSIGNED", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
- CreatedDateUtc = table.Column("TIMESTAMP", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
- EmailAddress = table.Column("NVARCHAR(126)", nullable: true),
- HomeUrl = table.Column("TEXT", nullable: true),
- ModifiedDateUtc = table.Column("TIMESTAMP", nullable: false),
- Name = table.Column("NVARCHAR(126) NOT NULL", nullable: true),
- TwitterHandle = table.Column("NVARCHAR(126)", nullable: true)
- },
- constraints: table => { table.PrimaryKey("PK_maintainers", x => x.Id); });
-
- migrationBuilder.CreateTable(
- "rules",
- table => new
- {
- Id = table.Column("BIGINT UNSIGNED", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
- CreatedDateUtc = table.Column("TIMESTAMP", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
- Raw = table.Column("NVARCHAR(2083) NOT NULL", nullable: true)
- },
- constraints: table => { table.PrimaryKey("PK_rules", x => x.Id); });
-
- migrationBuilder.CreateTable(
- "software",
- table => new
- {
- Id = table.Column("SMALLINT UNSIGNED", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
- CreatedDateUtc = table.Column("TIMESTAMP", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
- DownloadUrl = table.Column("TEXT", nullable: true),
- HomeUrl = table.Column("TEXT", nullable: true),
- ModifiedDateUtc = table.Column("TIMESTAMP", nullable: false),
- Name = table.Column("NVARCHAR(126) NOT NULL", nullable: true)
- },
- constraints: table => { table.PrimaryKey("PK_software", x => x.Id); });
-
- migrationBuilder.CreateTable(
- "syntaxes",
- table => new
- {
- Id = table.Column("SMALLINT UNSIGNED", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
- CreatedDateUtc = table.Column("TIMESTAMP", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
- DefinitionUrl = table.Column("TEXT", nullable: true),
- ModifiedDateUtc = table.Column("TIMESTAMP", nullable: false),
- Name = table.Column("NVARCHAR(126) NOT NULL", nullable: true)
- },
- constraints: table => { table.PrimaryKey("PK_syntaxes", x => x.Id); });
-
- migrationBuilder.CreateTable(
- "filterlists",
- table => new
- {
- Id = table.Column("SMALLINT UNSIGNED", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
- CreatedDateUtc = table.Column("TIMESTAMP", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
- Description = table.Column("TEXT", nullable: true),
- DescriptionSourceUrl = table.Column("TEXT", nullable: true),
- DiscontinuedDate = table.Column(nullable: true),
- DonateUrl = table.Column("TEXT", nullable: true),
- EmailAddress = table.Column("NVARCHAR(126)", nullable: true),
- ForumUrl = table.Column("TEXT", nullable: true),
- HomeUrl = table.Column("TEXT", nullable: true),
- IssuesUrl = table.Column("TEXT", nullable: true),
- LicenseId = table.Column(nullable: true),
- ModifiedDateUtc = table.Column("TIMESTAMP", nullable: false),
- Name = table.Column("NVARCHAR(126) NOT NULL", nullable: true),
- SubmissionUrl = table.Column("TEXT", nullable: true),
- SyntaxId = table.Column(nullable: true),
- ViewUrl = table.Column("TEXT NOT NULL", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_filterlists", x => x.Id);
- table.ForeignKey(
- "FK_filterlists_licenses_LicenseId",
- x => x.LicenseId,
- "licenses",
- "Id",
- onDelete: ReferentialAction.Restrict);
- table.ForeignKey(
- "FK_filterlists_syntaxes_SyntaxId",
- x => x.SyntaxId,
- "syntaxes",
- "Id",
- onDelete: ReferentialAction.Restrict);
- });
-
- migrationBuilder.CreateTable(
- "software_syntaxes",
- table => new
- {
- SoftwareId = table.Column(nullable: false),
- SyntaxId = table.Column(nullable: false),
- CreatedDateUtc = table.Column("TIMESTAMP", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_software_syntaxes", x => new {x.SoftwareId, x.SyntaxId});
- table.ForeignKey(
- "FK_software_syntaxes_software_SoftwareId",
- x => x.SoftwareId,
- "software",
- "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- "FK_software_syntaxes_syntaxes_SyntaxId",
- x => x.SyntaxId,
- "syntaxes",
- "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- "filterlists_languages",
- table => new
- {
- FilterListId = table.Column(nullable: false),
- LanguageId = table.Column(nullable: false),
- CreatedDateUtc = table.Column("TIMESTAMP", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_filterlists_languages", x => new {x.FilterListId, x.LanguageId});
- table.ForeignKey(
- "FK_filterlists_languages_filterlists_FilterListId",
- x => x.FilterListId,
- "filterlists",
- "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- "FK_filterlists_languages_languages_LanguageId",
- x => x.LanguageId,
- "languages",
- "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- "filterlists_maintainers",
- table => new
- {
- FilterListId = table.Column(nullable: false),
- MaintainerId = table.Column(nullable: false),
- CreatedDateUtc = table.Column("TIMESTAMP", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_filterlists_maintainers", x => new {x.FilterListId, x.MaintainerId});
- table.ForeignKey(
- "FK_filterlists_maintainers_filterlists_FilterListId",
- x => x.FilterListId,
- "filterlists",
- "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- "FK_filterlists_maintainers_maintainers_MaintainerId",
- x => x.MaintainerId,
- "maintainers",
- "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- "filterlists_rules",
- table => new
- {
- FilterListId = table.Column(nullable: false),
- RuleId = table.Column(nullable: false),
- CreatedDateUtc = table.Column("TIMESTAMP", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_filterlists_rules", x => new {x.FilterListId, x.RuleId});
- table.ForeignKey(
- "FK_filterlists_rules_filterlists_FilterListId",
- x => x.FilterListId,
- "filterlists",
- "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- "FK_filterlists_rules_rules_RuleId",
- x => x.RuleId,
- "rules",
- "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- "forks",
- table => new
- {
- ForkFilterListId = table.Column(nullable: false),
- UpstreamFilterListId = table.Column(nullable: false),
- CreatedDateUtc = table.Column("TIMESTAMP", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_forks", x => new {x.ForkFilterListId, x.UpstreamFilterListId});
- table.ForeignKey(
- "FK_forks_filterlists_ForkFilterListId",
- x => x.ForkFilterListId,
- "filterlists",
- "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- "FK_forks_filterlists_UpstreamFilterListId",
- x => x.UpstreamFilterListId,
- "filterlists",
- "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- "merges",
- table => new
- {
- MergeFilterListId = table.Column(nullable: false),
- UpstreamFilterListId = table.Column(nullable: false),
- CreatedDateUtc = table.Column("TIMESTAMP", nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_merges", x => new {x.MergeFilterListId, x.UpstreamFilterListId});
- table.ForeignKey(
- "FK_merges_filterlists_MergeFilterListId",
- x => x.MergeFilterListId,
- "filterlists",
- "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- "FK_merges_filterlists_UpstreamFilterListId",
- x => x.UpstreamFilterListId,
- "filterlists",
- "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateIndex(
- "IX_filterlists_LicenseId",
- "filterlists",
- "LicenseId");
-
- migrationBuilder.CreateIndex(
- "IX_filterlists_SyntaxId",
- "filterlists",
- "SyntaxId");
-
- migrationBuilder.CreateIndex(
- "IX_filterlists_languages_LanguageId",
- "filterlists_languages",
- "LanguageId");
-
- migrationBuilder.CreateIndex(
- "IX_filterlists_maintainers_MaintainerId",
- "filterlists_maintainers",
- "MaintainerId");
-
- migrationBuilder.CreateIndex(
- "IX_filterlists_rules_RuleId",
- "filterlists_rules",
- "RuleId");
-
- migrationBuilder.CreateIndex(
- "IX_forks_UpstreamFilterListId",
- "forks",
- "UpstreamFilterListId");
-
- migrationBuilder.CreateIndex(
- "IX_merges_UpstreamFilterListId",
- "merges",
- "UpstreamFilterListId");
-
- migrationBuilder.CreateIndex(
- "IX_software_syntaxes_SyntaxId",
- "software_syntaxes",
- "SyntaxId");
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropTable(
- "filterlists_languages");
-
- migrationBuilder.DropTable(
- "filterlists_maintainers");
-
- migrationBuilder.DropTable(
- "filterlists_rules");
-
- migrationBuilder.DropTable(
- "forks");
-
- migrationBuilder.DropTable(
- "merges");
-
- migrationBuilder.DropTable(
- "software_syntaxes");
-
- migrationBuilder.DropTable(
- "languages");
-
- migrationBuilder.DropTable(
- "maintainers");
-
- migrationBuilder.DropTable(
- "rules");
-
- migrationBuilder.DropTable(
- "filterlists");
-
- migrationBuilder.DropTable(
- "software");
-
- migrationBuilder.DropTable(
- "licenses");
-
- migrationBuilder.DropTable(
- "syntaxes");
- }
- }
-}
\ No newline at end of file
diff --git a/src/FilterLists.Api/Migrations/20180127232215_AddScrapedAndUpdatedDates.Designer.cs b/src/FilterLists.Api/Migrations/20180127232215_AddScrapedAndUpdatedDates.Designer.cs
deleted file mode 100644
index 6cf92f98c..000000000
--- a/src/FilterLists.Api/Migrations/20180127232215_AddScrapedAndUpdatedDates.Designer.cs
+++ /dev/null
@@ -1,451 +0,0 @@
-//
-using FilterLists.Data;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Metadata;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage;
-using Microsoft.EntityFrameworkCore.Storage.Internal;
-using System;
-
-namespace FilterLists.Api.Migrations
-{
- [DbContext(typeof(FilterListsDbContext))]
- [Migration("20180127232215_AddScrapedAndUpdatedDates")]
- partial class AddScrapedAndUpdatedDates
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn)
- .HasAnnotation("ProductVersion", "2.0.1-rtm-125");
-
- modelBuilder.Entity("FilterLists.Data.Entities.FilterList", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("SMALLINT UNSIGNED");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Description")
- .HasColumnType("TEXT");
-
- b.Property("DescriptionSourceUrl")
- .HasColumnType("TEXT");
-
- b.Property("DiscontinuedDate");
-
- b.Property("DonateUrl")
- .HasColumnType("TEXT");
-
- b.Property("EmailAddress")
- .HasColumnType("NVARCHAR(126)");
-
- b.Property("ForumUrl")
- .HasColumnType("TEXT");
-
- b.Property("HomeUrl")
- .HasColumnType("TEXT");
-
- b.Property("IssuesUrl")
- .HasColumnType("TEXT");
-
- b.Property("LicenseId");
-
- b.Property("ModifiedDateUtc")
- .ValueGeneratedOnAddOrUpdate()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Name")
- .HasColumnType("NVARCHAR(126) NOT NULL");
-
- b.Property("ScrapedDateUtc");
-
- b.Property("SubmissionUrl")
- .HasColumnType("TEXT");
-
- b.Property("SyntaxId");
-
- b.Property("UpdatedDateUtc");
-
- b.Property("ViewUrl")
- .HasColumnType("TEXT NOT NULL");
-
- 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")
- .ValueGeneratedOnAdd()
- .HasColumnType("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")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.HasKey("FilterListId", "MaintainerId");
-
- b.HasIndex("MaintainerId");
-
- b.ToTable("filterlists_maintainers");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Junctions.FilterListRule", b =>
- {
- b.Property("FilterListId");
-
- b.Property("RuleId");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.HasKey("FilterListId", "RuleId");
-
- b.HasIndex("RuleId");
-
- b.ToTable("filterlists_rules");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Junctions.Fork", b =>
- {
- b.Property("ForkFilterListId");
-
- b.Property("UpstreamFilterListId");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("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")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.HasKey("MergeFilterListId", "UpstreamFilterListId");
-
- b.HasIndex("UpstreamFilterListId");
-
- b.ToTable("merges");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Junctions.SoftwareSyntax", b =>
- {
- b.Property("SoftwareId");
-
- b.Property("SyntaxId");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.HasKey("SoftwareId", "SyntaxId");
-
- b.HasIndex("SyntaxId");
-
- b.ToTable("software_syntaxes");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Language", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("SMALLINT UNSIGNED");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Iso6391")
- .HasColumnType("NVARCHAR(2)");
-
- b.Property("Iso6392")
- .HasColumnType("NVARCHAR(3)");
-
- b.Property("Iso6392B")
- .HasColumnType("NVARCHAR(3)");
-
- b.Property("Iso6392T")
- .HasColumnType("NVARCHAR(3)");
-
- b.Property("Iso6393")
- .HasColumnType("NVARCHAR(3)");
-
- b.Property("LocalName")
- .HasColumnType("NVARCHAR(126)");
-
- b.Property("ModifiedDateUtc")
- .ValueGeneratedOnAddOrUpdate()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Name")
- .HasColumnType("NVARCHAR(126)");
-
- b.HasKey("Id");
-
- b.ToTable("languages");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.License", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("SMALLINT UNSIGNED");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.Property("DescriptionUrl")
- .HasColumnType("TEXT");
-
- b.Property("ModifiedDateUtc")
- .ValueGeneratedOnAddOrUpdate()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Name")
- .HasColumnType("NVARCHAR(126) NOT NULL");
-
- 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");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.Property("EmailAddress")
- .HasColumnType("NVARCHAR(126)");
-
- b.Property("HomeUrl")
- .HasColumnType("TEXT");
-
- b.Property("ModifiedDateUtc")
- .ValueGeneratedOnAddOrUpdate()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Name")
- .HasColumnType("NVARCHAR(126) NOT NULL");
-
- b.Property("TwitterHandle")
- .HasColumnType("NVARCHAR(126)");
-
- b.HasKey("Id");
-
- b.ToTable("maintainers");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Rule", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("BIGINT UNSIGNED");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Raw")
- .HasColumnType("NVARCHAR(2083) NOT NULL");
-
- b.HasKey("Id");
-
- b.ToTable("rules");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Software", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("SMALLINT UNSIGNED");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.Property("DownloadUrl")
- .HasColumnType("TEXT");
-
- b.Property("HomeUrl")
- .HasColumnType("TEXT");
-
- b.Property("ModifiedDateUtc")
- .ValueGeneratedOnAddOrUpdate()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Name")
- .HasColumnType("NVARCHAR(126) NOT NULL");
-
- b.HasKey("Id");
-
- b.ToTable("software");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Syntax", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("SMALLINT UNSIGNED");
-
- b.Property("CreatedDateUtc")
- .ValueGeneratedOnAdd()
- .HasColumnType("TIMESTAMP");
-
- b.Property("DefinitionUrl")
- .HasColumnType("TEXT");
-
- b.Property("ModifiedDateUtc")
- .ValueGeneratedOnAddOrUpdate()
- .HasColumnType("TIMESTAMP");
-
- b.Property("Name")
- .HasColumnType("NVARCHAR(126) NOT NULL");
-
- b.HasKey("Id");
-
- b.ToTable("syntaxes");
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.FilterList", b =>
- {
- b.HasOne("FilterLists.Data.Entities.License")
- .WithMany("FilterLists")
- .HasForeignKey("LicenseId");
-
- b.HasOne("FilterLists.Data.Entities.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.FilterListRule", b =>
- {
- b.HasOne("FilterLists.Data.Entities.FilterList", "FilterList")
- .WithMany("FilterListRules")
- .HasForeignKey("FilterListId")
- .OnDelete(DeleteBehavior.Cascade);
-
- b.HasOne("FilterLists.Data.Entities.Rule", "Rule")
- .WithMany("FilterListRules")
- .HasForeignKey("RuleId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Junctions.Fork", b =>
- {
- b.HasOne("FilterLists.Data.Entities.FilterList", "ForkFilterList")
- .WithMany()
- .HasForeignKey("ForkFilterListId")
- .OnDelete(DeleteBehavior.Cascade);
-
- b.HasOne("FilterLists.Data.Entities.FilterList", "UpstreamFilterList")
- .WithMany()
- .HasForeignKey("UpstreamFilterListId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("FilterLists.Data.Entities.Junctions.Merge", b =>
- {
- b.HasOne("FilterLists.Data.Entities.FilterList", "MergeFilterList")
- .WithMany()
- .HasForeignKey("MergeFilterListId")
- .OnDelete(DeleteBehavior.Cascade);
-
- b.HasOne("FilterLists.Data.Entities.FilterList", "UpstreamFilterList")
- .WithMany()
- .HasForeignKey("UpstreamFilterListId")
- .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);
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/src/FilterLists.Api/Migrations/20180127232215_AddScrapedAndUpdatedDates.cs b/src/FilterLists.Api/Migrations/20180127232215_AddScrapedAndUpdatedDates.cs
deleted file mode 100644
index 027ef4fa1..000000000
--- a/src/FilterLists.Api/Migrations/20180127232215_AddScrapedAndUpdatedDates.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-using System;
-using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace FilterLists.Api.Migrations
-{
- public partial class AddScrapedAndUpdatedDates : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.AddColumn(
- "ScrapedDateUtc",
- "filterlists",
- nullable: true);
-
- migrationBuilder.AddColumn(
- "UpdatedDateUtc",
- "filterlists",
- nullable: true);
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropColumn(
- "ScrapedDateUtc",
- "filterlists");
-
- migrationBuilder.DropColumn(
- "UpdatedDateUtc",
- "filterlists");
- }
- }
-}
\ No newline at end of file
diff --git a/src/FilterLists.Api/Migrations/20180128204000_ExtractBaseEntityTypes.cs b/src/FilterLists.Api/Migrations/20180128204000_ExtractBaseEntityTypes.cs
deleted file mode 100644
index 603d0e473..000000000
--- a/src/FilterLists.Api/Migrations/20180128204000_ExtractBaseEntityTypes.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using System;
-using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace FilterLists.Api.Migrations
-{
- public partial class ExtractBaseEntityTypes : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.AddColumn(
- "ModifiedDateUtc",
- "rules",
- "TIMESTAMP",
- nullable: false,
- defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropColumn(
- "ModifiedDateUtc",
- "rules");
- }
- }
-}
\ No newline at end of file
diff --git a/src/FilterLists.Api/Migrations/20180128204000_ExtractBaseEntityTypes.Designer.cs b/src/FilterLists.Api/Migrations/20180128204823_InitialCreate.Designer.cs
similarity index 99%
rename from src/FilterLists.Api/Migrations/20180128204000_ExtractBaseEntityTypes.Designer.cs
rename to src/FilterLists.Api/Migrations/20180128204823_InitialCreate.Designer.cs
index 8a99a057f..a80ca91d9 100644
--- a/src/FilterLists.Api/Migrations/20180128204000_ExtractBaseEntityTypes.Designer.cs
+++ b/src/FilterLists.Api/Migrations/20180128204823_InitialCreate.Designer.cs
@@ -11,8 +11,8 @@
namespace FilterLists.Api.Migrations
{
[DbContext(typeof(FilterListsDbContext))]
- [Migration("20180128204000_ExtractBaseEntityTypes")]
- partial class ExtractBaseEntityTypes
+ [Migration("20180128204823_InitialCreate")]
+ partial class InitialCreate
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
diff --git a/src/FilterLists.Api/Migrations/20180128204823_InitialCreate.cs b/src/FilterLists.Api/Migrations/20180128204823_InitialCreate.cs
new file mode 100644
index 000000000..7baedf042
--- /dev/null
+++ b/src/FilterLists.Api/Migrations/20180128204823_InitialCreate.cs
@@ -0,0 +1,404 @@
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using System;
+using System.Collections.Generic;
+
+namespace FilterLists.Api.Migrations
+{
+ public partial class InitialCreate : Migration
+ {
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.CreateTable(
+ name: "languages",
+ columns: table => new
+ {
+ Id = table.Column(type: "SMALLINT UNSIGNED", nullable: false)
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
+ CreatedDateUtc = table.Column(type: "TIMESTAMP", nullable: false)
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
+ Iso6391 = table.Column(type: "NVARCHAR(2)", nullable: true),
+ Iso6392 = table.Column(type: "NVARCHAR(3)", nullable: true),
+ Iso6392B = table.Column(type: "NVARCHAR(3)", nullable: true),
+ Iso6392T = table.Column(type: "NVARCHAR(3)", nullable: true),
+ Iso6393 = table.Column(type: "NVARCHAR(3)", nullable: true),
+ LocalName = table.Column(type: "NVARCHAR(126)", nullable: true),
+ ModifiedDateUtc = table.Column(type: "TIMESTAMP", nullable: false),
+ Name = table.Column(type: "NVARCHAR(126)", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_languages", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "licenses",
+ columns: table => new
+ {
+ Id = table.Column(type: "SMALLINT UNSIGNED", nullable: false)
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
+ CreatedDateUtc = table.Column(type: "TIMESTAMP", nullable: false)
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
+ DescriptionUrl = table.Column(type: "TEXT", nullable: true),
+ ModifiedDateUtc = table.Column(type: "TIMESTAMP", nullable: false),
+ Name = table.Column(type: "NVARCHAR(126) NOT NULL", nullable: true),
+ PermissiveAdaptation = table.Column(nullable: false),
+ PermissiveCommercial = table.Column(nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_licenses", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "maintainers",
+ columns: table => new
+ {
+ Id = table.Column(type: "SMALLINT UNSIGNED", nullable: false)
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
+ CreatedDateUtc = table.Column(type: "TIMESTAMP", nullable: false)
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
+ EmailAddress = table.Column(type: "NVARCHAR(126)", nullable: true),
+ HomeUrl = table.Column(type: "TEXT", nullable: true),
+ ModifiedDateUtc = table.Column(type: "TIMESTAMP", nullable: false),
+ Name = table.Column(type: "NVARCHAR(126) NOT NULL", nullable: true),
+ TwitterHandle = table.Column(type: "NVARCHAR(126)", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_maintainers", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "rules",
+ columns: table => new
+ {
+ Id = table.Column(type: "BIGINT UNSIGNED", nullable: false)
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
+ CreatedDateUtc = table.Column(type: "TIMESTAMP", nullable: false)
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
+ ModifiedDateUtc = table.Column(type: "TIMESTAMP", nullable: false),
+ Raw = table.Column(type: "NVARCHAR(2083) NOT NULL", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_rules", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "software",
+ columns: table => new
+ {
+ Id = table.Column(type: "SMALLINT UNSIGNED", nullable: false)
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
+ CreatedDateUtc = table.Column(type: "TIMESTAMP", nullable: false)
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
+ DownloadUrl = table.Column(type: "TEXT", nullable: true),
+ HomeUrl = table.Column(type: "TEXT", nullable: true),
+ ModifiedDateUtc = table.Column(type: "TIMESTAMP", nullable: false),
+ Name = table.Column