add DiscontinuedDate, use consistent lambda vars

This commit is contained in:
Collin M. Barrett 2017-11-03 21:03:39 -05:00
parent 03e710602a
commit 8b89079b33
11 changed files with 472 additions and 30 deletions

View file

@ -0,0 +1,413 @@
// <auto-generated />
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("20171104020037_add DiscontinuedDate to FilterList")]
partial class addDiscontinuedDatetoFilterList
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn)
.HasAnnotation("ProductVersion", "2.0.0-rtm-26452");
modelBuilder.Entity("FilterLists.Data.Entities.FilterList", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
b.Property<DateTime>("CreatedDateUtc")
.ValueGeneratedOnAdd()
.HasColumnType("TIMESTAMP");
b.Property<string>("Description")
.HasMaxLength(4096);
b.Property<string>("DescriptionSourceUrl")
.HasMaxLength(2083);
b.Property<DateTime?>("DiscontinuedDate");
b.Property<string>("DonateUrl")
.HasMaxLength(2083);
b.Property<string>("EmailAddress")
.HasMaxLength(126);
b.Property<string>("ForumUrl")
.HasMaxLength(2083);
b.Property<string>("HomeUrl")
.HasMaxLength(2083);
b.Property<string>("IssuesUrl")
.HasMaxLength(2083);
b.Property<int?>("LicenseId");
b.Property<int?>("MaintainerId");
b.Property<DateTime>("ModifiedDateUtc")
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("TIMESTAMP");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(126);
b.Property<string>("SubmissionUrl")
.HasMaxLength(2083);
b.Property<string>("ViewUrl")
.HasMaxLength(2083);
b.HasKey("Id");
b.HasIndex("LicenseId");
b.HasIndex("MaintainerId");
b.ToTable("filterlists");
});
modelBuilder.Entity("FilterLists.Data.Entities.FilterListLanguage", b =>
{
b.Property<int>("FilterListId");
b.Property<int>("LanguageId");
b.Property<DateTime>("CreatedDateUtc")
.ValueGeneratedOnAdd()
.HasColumnType("TIMESTAMP");
b.Property<DateTime>("ModifiedDateUtc")
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("TIMESTAMP");
b.HasKey("FilterListId", "LanguageId");
b.HasIndex("LanguageId");
b.ToTable("filterlists_languages");
});
modelBuilder.Entity("FilterLists.Data.Entities.FilterListRule", b =>
{
b.Property<int>("FilterListId");
b.Property<int>("RuleId");
b.Property<DateTime>("CreatedDateUtc")
.ValueGeneratedOnAdd()
.HasColumnType("TIMESTAMP");
b.Property<DateTime>("ModifiedDateUtc")
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("TIMESTAMP");
b.HasKey("FilterListId", "RuleId");
b.HasIndex("RuleId");
b.ToTable("filterlists_rules");
});
modelBuilder.Entity("FilterLists.Data.Entities.FilterListSoftware", b =>
{
b.Property<int>("FilterListId");
b.Property<int>("SoftwareId");
b.Property<DateTime>("CreatedDateUtc")
.ValueGeneratedOnAdd()
.HasColumnType("TIMESTAMP");
b.Property<DateTime>("ModifiedDateUtc")
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("TIMESTAMP");
b.HasKey("FilterListId", "SoftwareId");
b.HasIndex("SoftwareId");
b.ToTable("filterlists_software");
});
modelBuilder.Entity("FilterLists.Data.Entities.Fork", b =>
{
b.Property<int>("ForkFilterListId");
b.Property<int>("UpstreamFilterListId");
b.Property<DateTime>("CreatedDateUtc")
.ValueGeneratedOnAdd()
.HasColumnType("TIMESTAMP");
b.Property<DateTime>("ModifiedDateUtc")
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("TIMESTAMP");
b.HasKey("ForkFilterListId", "UpstreamFilterListId");
b.HasIndex("UpstreamFilterListId");
b.ToTable("forks");
});
modelBuilder.Entity("FilterLists.Data.Entities.Language", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
b.Property<DateTime>("CreatedDateUtc")
.ValueGeneratedOnAdd()
.HasColumnType("TIMESTAMP");
b.Property<string>("Iso6391")
.HasMaxLength(2);
b.Property<string>("Iso6392")
.HasMaxLength(3);
b.Property<string>("Iso6392B")
.HasMaxLength(3);
b.Property<string>("Iso6392T")
.HasMaxLength(3);
b.Property<string>("Iso6393")
.HasMaxLength(3);
b.Property<string>("LocalName")
.HasMaxLength(126);
b.Property<DateTime>("ModifiedDateUtc")
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("TIMESTAMP");
b.Property<string>("Name")
.HasMaxLength(126);
b.HasKey("Id");
b.ToTable("languages");
});
modelBuilder.Entity("FilterLists.Data.Entities.License", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
b.Property<DateTime>("CreatedDateUtc")
.ValueGeneratedOnAdd()
.HasColumnType("TIMESTAMP");
b.Property<string>("DescriptionUrl")
.HasMaxLength(2083);
b.Property<DateTime>("ModifiedDateUtc")
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("TIMESTAMP");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(126);
b.Property<bool>("PermissiveAdaptation");
b.Property<bool>("PermissiveCommercial");
b.HasKey("Id");
b.ToTable("licenses");
});
modelBuilder.Entity("FilterLists.Data.Entities.Maintainer", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
b.Property<DateTime>("CreatedDateUtc")
.ValueGeneratedOnAdd()
.HasColumnType("TIMESTAMP");
b.Property<string>("EmailAddress")
.HasMaxLength(126);
b.Property<string>("HomeUrl")
.HasMaxLength(2083);
b.Property<DateTime>("ModifiedDateUtc")
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("TIMESTAMP");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(126);
b.Property<string>("TwitterHandle")
.HasMaxLength(126);
b.HasKey("Id");
b.ToTable("maintainers");
});
modelBuilder.Entity("FilterLists.Data.Entities.Merge", b =>
{
b.Property<int>("MergeFilterListId");
b.Property<int>("UpstreamFilterListId");
b.Property<DateTime>("CreatedDateUtc")
.ValueGeneratedOnAdd()
.HasColumnType("TIMESTAMP");
b.Property<DateTime>("ModifiedDateUtc")
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("TIMESTAMP");
b.HasKey("MergeFilterListId", "UpstreamFilterListId");
b.HasIndex("UpstreamFilterListId");
b.ToTable("merges");
});
modelBuilder.Entity("FilterLists.Data.Entities.Rule", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
b.Property<DateTime>("CreatedDateUtc")
.ValueGeneratedOnAdd()
.HasColumnType("TIMESTAMP");
b.Property<DateTime>("ModifiedDateUtc")
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("TIMESTAMP");
b.Property<string>("Raw")
.HasMaxLength(2083);
b.HasKey("Id");
b.ToTable("rules");
});
modelBuilder.Entity("FilterLists.Data.Entities.Software", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
b.Property<DateTime>("CreatedDateUtc")
.ValueGeneratedOnAdd()
.HasColumnType("TIMESTAMP");
b.Property<string>("DownloadUrl")
.HasMaxLength(2083);
b.Property<string>("HomeUrl")
.HasMaxLength(2083);
b.Property<DateTime>("ModifiedDateUtc")
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("TIMESTAMP");
b.Property<string>("Name")
.HasMaxLength(126);
b.HasKey("Id");
b.ToTable("software");
});
modelBuilder.Entity("FilterLists.Data.Entities.FilterList", b =>
{
b.HasOne("FilterLists.Data.Entities.License")
.WithMany("FilterLists")
.HasForeignKey("LicenseId");
b.HasOne("FilterLists.Data.Entities.Maintainer")
.WithMany("FilterLists")
.HasForeignKey("MaintainerId");
});
modelBuilder.Entity("FilterLists.Data.Entities.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.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.FilterListSoftware", b =>
{
b.HasOne("FilterLists.Data.Entities.FilterList", "FilterList")
.WithMany("FilterListSoftware")
.HasForeignKey("FilterListId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("FilterLists.Data.Entities.Software", "Software")
.WithMany("FilterListSoftware")
.HasForeignKey("SoftwareId")
.OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity("FilterLists.Data.Entities.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.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);
});
#pragma warning restore 612, 618
}
}
}

View file

@ -0,0 +1,25 @@
using Microsoft.EntityFrameworkCore.Migrations;
using System;
using System.Collections.Generic;
namespace FilterLists.Api.Migrations
{
public partial class addDiscontinuedDatetoFilterList : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<DateTime>(
name: "DiscontinuedDate",
table: "filterlists",
type: "datetime(6)",
nullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "DiscontinuedDate",
table: "filterlists");
}
}
}

View file

@ -35,6 +35,8 @@ protected override void BuildModel(ModelBuilder modelBuilder)
b.Property<string>("DescriptionSourceUrl")
.HasMaxLength(2083);
b.Property<DateTime?>("DiscontinuedDate");
b.Property<string>("DonateUrl")
.HasMaxLength(2083);

View file

@ -1,4 +1,5 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
namespace FilterLists.Data.Entities
{
@ -6,6 +7,7 @@ public class FilterList : BaseEntity
{
public string Description { get; set; }
public string DescriptionSourceUrl { get; set; }
public DateTime? DiscontinuedDate { get; set; }
public string DonateUrl { get; set; }
public string EmailAddress { get; set; }
public string ForumUrl { get; set; }

View file

@ -8,10 +8,10 @@ public class BaseEntityTypeConfiguration<TBase> : IEntityTypeConfiguration<TBase
{
public virtual void Configure(EntityTypeBuilder<TBase> entityTypeBuilder)
{
entityTypeBuilder.Property(b => b.CreatedDateUtc)
entityTypeBuilder.Property(x => x.CreatedDateUtc)
.HasColumnType("TIMESTAMP")
.ValueGeneratedOnAdd();
entityTypeBuilder.Property(b => b.ModifiedDateUtc)
entityTypeBuilder.Property(x => x.ModifiedDateUtc)
.HasColumnType("TIMESTAMP")
.ValueGeneratedOnAddOrUpdate();
}

View file

@ -9,26 +9,26 @@ public class FilterListTypeConfiguration : BaseEntityTypeConfiguration<FilterLis
public override void Configure(EntityTypeBuilder<FilterList> entityTypeBuilder)
{
entityTypeBuilder.ToTable("filterlists");
entityTypeBuilder.Property(b => b.Description)
entityTypeBuilder.Property(x => x.Description)
.HasMaxLength(4096);
entityTypeBuilder.Property(b => b.DescriptionSourceUrl)
entityTypeBuilder.Property(x => x.DescriptionSourceUrl)
.HasMaxLength(2083);
entityTypeBuilder.Property(b => b.DonateUrl)
entityTypeBuilder.Property(x => x.DonateUrl)
.HasMaxLength(2083);
entityTypeBuilder.Property(b => b.EmailAddress)
entityTypeBuilder.Property(x => x.EmailAddress)
.HasMaxLength(126);
entityTypeBuilder.Property(b => b.ForumUrl)
entityTypeBuilder.Property(x => x.ForumUrl)
.HasMaxLength(2083);
entityTypeBuilder.Property(b => b.HomeUrl)
entityTypeBuilder.Property(x => x.HomeUrl)
.HasMaxLength(2083);
entityTypeBuilder.Property(b => b.IssuesUrl)
entityTypeBuilder.Property(x => x.IssuesUrl)
.HasMaxLength(2083);
entityTypeBuilder.Property(b => b.Name)
entityTypeBuilder.Property(x => x.Name)
.IsRequired()
.HasMaxLength(126);
entityTypeBuilder.Property(b => b.SubmissionUrl)
entityTypeBuilder.Property(x => x.SubmissionUrl)
.HasMaxLength(2083);
entityTypeBuilder.Property(b => b.ViewUrl)
entityTypeBuilder.Property(x => x.ViewUrl)
.HasMaxLength(2083);
base.Configure(entityTypeBuilder);
}

View file

@ -9,19 +9,19 @@ public class LanguageTypeConfiguration : BaseEntityTypeConfiguration<Language>
public override void Configure(EntityTypeBuilder<Language> entityTypeBuilder)
{
entityTypeBuilder.ToTable("languages");
entityTypeBuilder.Property(b => b.Iso6391)
entityTypeBuilder.Property(x => x.Iso6391)
.HasMaxLength(2);
entityTypeBuilder.Property(b => b.Iso6392)
entityTypeBuilder.Property(x => x.Iso6392)
.HasMaxLength(3);
entityTypeBuilder.Property(b => b.Iso6392B)
entityTypeBuilder.Property(x => x.Iso6392B)
.HasMaxLength(3);
entityTypeBuilder.Property(b => b.Iso6392T)
entityTypeBuilder.Property(x => x.Iso6392T)
.HasMaxLength(3);
entityTypeBuilder.Property(b => b.Iso6393)
entityTypeBuilder.Property(x => x.Iso6393)
.HasMaxLength(3);
entityTypeBuilder.Property(b => b.LocalName)
entityTypeBuilder.Property(x => x.LocalName)
.HasMaxLength(126);
entityTypeBuilder.Property(b => b.Name)
entityTypeBuilder.Property(x => x.Name)
.HasMaxLength(126);
base.Configure(entityTypeBuilder);
}

View file

@ -9,9 +9,9 @@ public class LicenseTypeConfiguration : BaseEntityTypeConfiguration<License>
public override void Configure(EntityTypeBuilder<License> entityTypeBuilder)
{
entityTypeBuilder.ToTable("licenses");
entityTypeBuilder.Property(b => b.DescriptionUrl)
entityTypeBuilder.Property(x => x.DescriptionUrl)
.HasMaxLength(2083);
entityTypeBuilder.Property(b => b.Name)
entityTypeBuilder.Property(x => x.Name)
.IsRequired()
.HasMaxLength(126);
base.Configure(entityTypeBuilder);

View file

@ -9,14 +9,14 @@ public class MaintainerTypeConfiguration : BaseEntityTypeConfiguration<Maintaine
public override void Configure(EntityTypeBuilder<Maintainer> entityTypeBuilder)
{
entityTypeBuilder.ToTable("maintainers");
entityTypeBuilder.Property(b => b.EmailAddress)
entityTypeBuilder.Property(x => x.EmailAddress)
.HasMaxLength(126);
entityTypeBuilder.Property(b => b.HomeUrl)
entityTypeBuilder.Property(x => x.HomeUrl)
.HasMaxLength(2083);
entityTypeBuilder.Property(b => b.Name)
entityTypeBuilder.Property(x => x.Name)
.IsRequired()
.HasMaxLength(126);
entityTypeBuilder.Property(b => b.TwitterHandle)
entityTypeBuilder.Property(x => x.TwitterHandle)
.HasMaxLength(126);
base.Configure(entityTypeBuilder);
}

View file

@ -9,7 +9,7 @@ public class RuleTypeConfiguration : BaseEntityTypeConfiguration<Rule>
public override void Configure(EntityTypeBuilder<Rule> entityTypeBuilder)
{
entityTypeBuilder.ToTable("rules");
entityTypeBuilder.Property(b => b.Raw)
entityTypeBuilder.Property(x => x.Raw)
.HasMaxLength(2083);
base.Configure(entityTypeBuilder);
}

View file

@ -9,11 +9,11 @@ public class SoftwareTypeConfiguration : BaseEntityTypeConfiguration<Software>
public override void Configure(EntityTypeBuilder<Software> entityTypeBuilder)
{
entityTypeBuilder.ToTable("software");
entityTypeBuilder.Property(b => b.DownloadUrl)
entityTypeBuilder.Property(x => x.DownloadUrl)
.HasMaxLength(2083);
entityTypeBuilder.Property(b => b.HomeUrl)
entityTypeBuilder.Property(x => x.HomeUrl)
.HasMaxLength(2083);
entityTypeBuilder.Property(b => b.Name)
entityTypeBuilder.Property(x => x.Name)
.HasMaxLength(126);
base.Configure(entityTypeBuilder);
}