refactor(dir): ♻ re-gen Initial migration

This commit is contained in:
Collin M. Barrett 2021-11-18 04:24:36 -06:00
parent 255e9bb622
commit e4929a3d7b
6 changed files with 747 additions and 249237 deletions

View file

@ -1,449 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace FilterLists.Directory.Infrastructure.Migrations.Migrations
{
public partial class Initial : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "languages",
columns: table => new
{
iso6391 = table.Column<string>(type: "character(2)", fixedLength: true, maxLength: 2, nullable: false),
name = table.Column<string>(type: "text", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("pk_languages", x => x.iso6391);
});
migrationBuilder.CreateTable(
name: "licenses",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
name = table.Column<string>(type: "text", nullable: false),
url = table.Column<string>(type: "text", nullable: true),
permits_modification = table.Column<bool>(type: "boolean", nullable: false),
permits_distribution = table.Column<bool>(type: "boolean", nullable: false),
permits_commercial_use = table.Column<bool>(type: "boolean", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("pk_licenses", x => x.id);
});
migrationBuilder.CreateTable(
name: "maintainers",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
name = table.Column<string>(type: "text", nullable: false),
url = table.Column<string>(type: "text", nullable: true),
email_address = table.Column<string>(type: "text", nullable: true),
twitter_handle = table.Column<string>(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("pk_maintainers", x => x.id);
});
migrationBuilder.CreateTable(
name: "software",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
name = table.Column<string>(type: "text", nullable: false),
description = table.Column<string>(type: "text", nullable: true),
home_url = table.Column<string>(type: "text", nullable: true),
download_url = table.Column<string>(type: "text", nullable: true),
supports_abp_url_scheme = table.Column<bool>(type: "boolean", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("pk_software", x => x.id);
});
migrationBuilder.CreateTable(
name: "syntaxes",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
name = table.Column<string>(type: "text", nullable: false),
description = table.Column<string>(type: "text", nullable: true),
url = table.Column<string>(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("pk_syntaxes", x => x.id);
});
migrationBuilder.CreateTable(
name: "tags",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
name = table.Column<string>(type: "text", nullable: false),
description = table.Column<string>(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("pk_tags", x => x.id);
});
migrationBuilder.CreateTable(
name: "filter_lists",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
name = table.Column<string>(type: "text", nullable: false),
description = table.Column<string>(type: "text", nullable: true),
license_id = table.Column<int>(type: "integer", nullable: true),
home_url = table.Column<string>(type: "text", nullable: true),
onion_url = table.Column<string>(type: "text", nullable: true),
policy_url = table.Column<string>(type: "text", nullable: true),
submission_url = table.Column<string>(type: "text", nullable: true),
issues_url = table.Column<string>(type: "text", nullable: true),
forum_url = table.Column<string>(type: "text", nullable: true),
chat_url = table.Column<string>(type: "text", nullable: true),
email_address = table.Column<string>(type: "text", nullable: true),
donate_url = table.Column<string>(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("pk_filter_lists", x => x.id);
table.ForeignKey(
name: "fk_filter_lists_licenses_license_id",
column: x => x.license_id,
principalTable: "licenses",
principalColumn: "id");
});
migrationBuilder.CreateTable(
name: "SoftwareSyntaxes",
columns: table => new
{
software_id = table.Column<int>(type: "integer", nullable: false),
syntax_id = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("pk_software_syntaxes", x => new { x.software_id, x.syntax_id });
table.ForeignKey(
name: "fk_software_syntaxes_software_software_id",
column: x => x.software_id,
principalTable: "software",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "fk_software_syntaxes_syntaxes_syntax_id",
column: x => x.syntax_id,
principalTable: "syntaxes",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Dependents",
columns: table => new
{
dependency_filter_list_id = table.Column<int>(type: "integer", nullable: false),
dependent_filter_list_id = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("pk_dependents", x => new { x.dependency_filter_list_id, x.dependent_filter_list_id });
table.ForeignKey(
name: "fk_dependents_filter_lists_filter_list_id",
column: x => x.dependent_filter_list_id,
principalTable: "filter_lists",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "fk_dependents_filter_lists_filter_list_id1",
column: x => x.dependency_filter_list_id,
principalTable: "filter_lists",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "FilterListLanguages",
columns: table => new
{
filter_list_id = table.Column<int>(type: "integer", nullable: false),
iso6391 = table.Column<string>(type: "character(2)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("pk_filter_list_languages", x => new { x.filter_list_id, x.iso6391 });
table.ForeignKey(
name: "fk_filter_list_languages_filter_lists_filter_list_id",
column: x => x.filter_list_id,
principalTable: "filter_lists",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "fk_filter_list_languages_languages_language_temp_id",
column: x => x.iso6391,
principalTable: "languages",
principalColumn: "iso6391",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "FilterListMaintainers",
columns: table => new
{
filter_list_id = table.Column<int>(type: "integer", nullable: false),
maintainer_id = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("pk_filter_list_maintainers", x => new { x.filter_list_id, x.maintainer_id });
table.ForeignKey(
name: "fk_filter_list_maintainers_filter_lists_filter_list_id",
column: x => x.filter_list_id,
principalTable: "filter_lists",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "fk_filter_list_maintainers_maintainers_maintainer_id",
column: x => x.maintainer_id,
principalTable: "maintainers",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "FilterListSyntaxes",
columns: table => new
{
filter_list_id = table.Column<int>(type: "integer", nullable: false),
syntax_id = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("pk_filter_list_syntaxes", x => new { x.filter_list_id, x.syntax_id });
table.ForeignKey(
name: "fk_filter_list_syntaxes_filter_lists_filter_list_id",
column: x => x.filter_list_id,
principalTable: "filter_lists",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "fk_filter_list_syntaxes_syntaxes_syntax_id",
column: x => x.syntax_id,
principalTable: "syntaxes",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "FilterListTags",
columns: table => new
{
filter_list_id = table.Column<int>(type: "integer", nullable: false),
tag_id = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("pk_filter_list_tags", x => new { x.filter_list_id, x.tag_id });
table.ForeignKey(
name: "fk_filter_list_tags_filter_lists_filter_list_id",
column: x => x.filter_list_id,
principalTable: "filter_lists",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "fk_filter_list_tags_tags_tag_id",
column: x => x.tag_id,
principalTable: "tags",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "FilterListViewUrls",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
filter_list_id = table.Column<int>(type: "integer", nullable: false),
segment_number = table.Column<short>(type: "smallint", nullable: false, defaultValue: (short)1),
primariness = table.Column<short>(type: "smallint", nullable: false, defaultValue: (short)1),
url = table.Column<string>(type: "text", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("pk_filter_list_view_urls", x => x.id);
table.ForeignKey(
name: "fk_filter_list_view_urls_filter_lists_filter_list_id",
column: x => x.filter_list_id,
principalTable: "filter_lists",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Forks",
columns: table => new
{
upstream_filter_list_id = table.Column<int>(type: "integer", nullable: false),
fork_filter_list_id = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("pk_forks", x => new { x.upstream_filter_list_id, x.fork_filter_list_id });
table.ForeignKey(
name: "fk_forks_filter_lists_filter_list_id",
column: x => x.upstream_filter_list_id,
principalTable: "filter_lists",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "fk_forks_filter_lists_filter_list_id1",
column: x => x.fork_filter_list_id,
principalTable: "filter_lists",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Merges",
columns: table => new
{
included_in_filter_list_id = table.Column<int>(type: "integer", nullable: false),
includes_filter_list_id = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("pk_merges", x => new { x.included_in_filter_list_id, x.includes_filter_list_id });
table.ForeignKey(
name: "fk_merges_filter_lists_filter_list_id",
column: x => x.includes_filter_list_id,
principalTable: "filter_lists",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "fk_merges_filter_lists_filter_list_id1",
column: x => x.included_in_filter_list_id,
principalTable: "filter_lists",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "ix_dependents_dependent_filter_list_id",
table: "Dependents",
column: "dependent_filter_list_id");
migrationBuilder.CreateIndex(
name: "ix_filter_list_languages_iso6391",
table: "FilterListLanguages",
column: "iso6391");
migrationBuilder.CreateIndex(
name: "ix_filter_list_maintainers_maintainer_id",
table: "FilterListMaintainers",
column: "maintainer_id");
migrationBuilder.CreateIndex(
name: "ix_filter_list_syntaxes_syntax_id",
table: "FilterListSyntaxes",
column: "syntax_id");
migrationBuilder.CreateIndex(
name: "ix_filter_list_tags_tag_id",
table: "FilterListTags",
column: "tag_id");
migrationBuilder.CreateIndex(
name: "ix_filter_list_view_urls_filter_list_id_segment_number_primariness",
table: "FilterListViewUrls",
columns: new[] { "filter_list_id", "segment_number", "primariness" },
unique: true);
migrationBuilder.CreateIndex(
name: "ix_forks_fork_filter_list_id",
table: "Forks",
column: "fork_filter_list_id");
migrationBuilder.CreateIndex(
name: "ix_merges_includes_filter_list_id",
table: "Merges",
column: "includes_filter_list_id");
migrationBuilder.CreateIndex(
name: "ix_software_syntaxes_syntax_id",
table: "SoftwareSyntaxes",
column: "syntax_id");
migrationBuilder.CreateIndex(
name: "ix_filter_lists_license_id",
table: "filter_lists",
column: "license_id");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "Dependents");
migrationBuilder.DropTable(
name: "FilterListLanguages");
migrationBuilder.DropTable(
name: "FilterListMaintainers");
migrationBuilder.DropTable(
name: "FilterListSyntaxes");
migrationBuilder.DropTable(
name: "FilterListTags");
migrationBuilder.DropTable(
name: "FilterListViewUrls");
migrationBuilder.DropTable(
name: "Forks");
migrationBuilder.DropTable(
name: "Merges");
migrationBuilder.DropTable(
name: "SoftwareSyntaxes");
migrationBuilder.DropTable(
name: "languages");
migrationBuilder.DropTable(
name: "maintainers");
migrationBuilder.DropTable(
name: "tags");
migrationBuilder.DropTable(
name: "filter_lists");
migrationBuilder.DropTable(
name: "software");
migrationBuilder.DropTable(
name: "syntaxes");
migrationBuilder.DropTable(
name: "licenses");
}
}
}

View file

@ -12,7 +12,7 @@
namespace FilterLists.Directory.Infrastructure.Migrations.Migrations
{
[DbContext(typeof(QueryDbContext))]
[Migration("20211116221734_Initial")]
[Migration("20211118102247_Initial")]
partial class Initial
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
@ -27,18 +27,14 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Dependent", b =>
{
b.Property<int>("DependencyFilterListId")
.HasColumnType("integer")
.HasColumnName("dependency_filter_list_id");
.HasColumnType("integer");
b.Property<int>("DependentFilterListId")
.HasColumnType("integer")
.HasColumnName("dependent_filter_list_id");
.HasColumnType("integer");
b.HasKey("DependencyFilterListId", "DependentFilterListId")
.HasName("pk_dependents");
b.HasKey("DependencyFilterListId", "DependentFilterListId");
b.HasIndex("DependentFilterListId")
.HasDatabaseName("ix_dependents_dependent_filter_list_id");
b.HasIndex("DependentFilterListId");
b.ToTable("Dependents", (string)null);
});
@ -47,84 +43,68 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("ChatUrl")
.HasColumnType("text")
.HasColumnName("chat_url");
.HasColumnType("text");
b.Property<string>("Description")
.HasColumnType("text")
.HasColumnName("description");
.HasColumnType("text");
b.Property<string>("DonateUrl")
.HasColumnType("text")
.HasColumnName("donate_url");
.HasColumnType("text");
b.Property<string>("EmailAddress")
.HasColumnType("text")
.HasColumnName("email_address");
.HasColumnType("text");
b.Property<string>("ForumUrl")
.HasColumnType("text")
.HasColumnName("forum_url");
.HasColumnType("text");
b.Property<string>("HomeUrl")
.HasColumnType("text")
.HasColumnName("home_url");
.HasColumnType("text");
b.Property<string>("IssuesUrl")
.HasColumnType("text")
.HasColumnName("issues_url");
.HasColumnType("text");
b.Property<int?>("LicenseId")
.HasColumnType("integer")
.HasColumnName("license_id");
.HasColumnType("integer");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text")
.HasColumnName("name");
.HasColumnType("text");
b.Property<string>("OnionUrl")
.HasColumnType("text")
.HasColumnName("onion_url");
.HasColumnType("text");
b.Property<string>("PolicyUrl")
.HasColumnType("text")
.HasColumnName("policy_url");
.HasColumnType("text");
b.Property<string>("SubmissionUrl")
.HasColumnType("text")
.HasColumnName("submission_url");
.HasColumnType("text");
b.HasKey("Id")
.HasName("pk_filter_lists");
b.HasKey("Id");
b.HasIndex("LicenseId")
.HasDatabaseName("ix_filter_lists_license_id");
b.HasIndex("LicenseId");
b.ToTable("filter_lists", (string)null);
b.HasIndex("Name")
.IsUnique();
b.ToTable("FilterLists");
});
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.FilterListLanguage", b =>
{
b.Property<int>("FilterListId")
.HasColumnType("integer")
.HasColumnName("filter_list_id");
.HasColumnType("integer");
b.Property<string>("Iso6391")
.HasColumnType("character(2)")
.HasColumnName("iso6391");
.HasColumnType("character(2)");
b.HasKey("FilterListId", "Iso6391")
.HasName("pk_filter_list_languages");
b.HasKey("FilterListId", "Iso6391");
b.HasIndex("Iso6391")
.HasDatabaseName("ix_filter_list_languages_iso6391");
b.HasIndex("Iso6391");
b.ToTable("FilterListLanguages", (string)null);
});
@ -132,18 +112,14 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.FilterListMaintainer", b =>
{
b.Property<int>("FilterListId")
.HasColumnType("integer")
.HasColumnName("filter_list_id");
.HasColumnType("integer");
b.Property<int>("MaintainerId")
.HasColumnType("integer")
.HasColumnName("maintainer_id");
.HasColumnType("integer");
b.HasKey("FilterListId", "MaintainerId")
.HasName("pk_filter_list_maintainers");
b.HasKey("FilterListId", "MaintainerId");
b.HasIndex("MaintainerId")
.HasDatabaseName("ix_filter_list_maintainers_maintainer_id");
b.HasIndex("MaintainerId");
b.ToTable("FilterListMaintainers", (string)null);
});
@ -151,18 +127,14 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.FilterListSyntax", b =>
{
b.Property<int>("FilterListId")
.HasColumnType("integer")
.HasColumnName("filter_list_id");
.HasColumnType("integer");
b.Property<int>("SyntaxId")
.HasColumnType("integer")
.HasColumnName("syntax_id");
.HasColumnType("integer");
b.HasKey("FilterListId", "SyntaxId")
.HasName("pk_filter_list_syntaxes");
b.HasKey("FilterListId", "SyntaxId");
b.HasIndex("SyntaxId")
.HasDatabaseName("ix_filter_list_syntaxes_syntax_id");
b.HasIndex("SyntaxId");
b.ToTable("FilterListSyntaxes", (string)null);
});
@ -170,18 +142,14 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.FilterListTag", b =>
{
b.Property<int>("FilterListId")
.HasColumnType("integer")
.HasColumnName("filter_list_id");
.HasColumnType("integer");
b.Property<int>("TagId")
.HasColumnType("integer")
.HasColumnName("tag_id");
.HasColumnType("integer");
b.HasKey("FilterListId", "TagId")
.HasName("pk_filter_list_tags");
b.HasKey("FilterListId", "TagId");
b.HasIndex("TagId")
.HasDatabaseName("ix_filter_list_tags_tag_id");
b.HasIndex("TagId");
b.ToTable("FilterListTags", (string)null);
});
@ -190,38 +158,31 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("FilterListId")
.HasColumnType("integer")
.HasColumnName("filter_list_id");
.HasColumnType("integer");
b.Property<short>("Primariness")
.ValueGeneratedOnAdd()
.HasColumnType("smallint")
.HasDefaultValue((short)1)
.HasColumnName("primariness");
.HasDefaultValue((short)1);
b.Property<short>("SegmentNumber")
.ValueGeneratedOnAdd()
.HasColumnType("smallint")
.HasDefaultValue((short)1)
.HasColumnName("segment_number");
.HasDefaultValue((short)1);
b.Property<string>("Url")
.IsRequired()
.HasColumnType("text")
.HasColumnName("url");
.HasColumnType("text");
b.HasKey("Id")
.HasName("pk_filter_list_view_urls");
b.HasKey("Id");
b.HasIndex("FilterListId", "SegmentNumber", "Primariness")
.IsUnique()
.HasDatabaseName("ix_filter_list_view_urls_filter_list_id_segment_number_primariness");
.IsUnique();
b.ToTable("FilterListViewUrls", (string)null);
});
@ -229,18 +190,14 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Fork", b =>
{
b.Property<int>("UpstreamFilterListId")
.HasColumnType("integer")
.HasColumnName("upstream_filter_list_id");
.HasColumnType("integer");
b.Property<int>("ForkFilterListId")
.HasColumnType("integer")
.HasColumnName("fork_filter_list_id");
.HasColumnType("integer");
b.HasKey("UpstreamFilterListId", "ForkFilterListId")
.HasName("pk_forks");
b.HasKey("UpstreamFilterListId", "ForkFilterListId");
b.HasIndex("ForkFilterListId")
.HasDatabaseName("ix_forks_fork_filter_list_id");
b.HasIndex("ForkFilterListId");
b.ToTable("Forks", (string)null);
});
@ -250,103 +207,92 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
b.Property<string>("Iso6391")
.HasMaxLength(2)
.HasColumnType("character(2)")
.HasColumnName("iso6391")
.IsFixedLength();
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text")
.HasColumnName("name");
.HasColumnType("text");
b.HasKey("Iso6391")
.HasName("pk_languages");
b.HasKey("Iso6391");
b.ToTable("languages", (string)null);
b.HasIndex("Name")
.IsUnique();
b.ToTable("Languages");
});
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.License", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text")
.HasColumnName("name");
.HasColumnType("text");
b.Property<bool>("PermitsCommercialUse")
.HasColumnType("boolean")
.HasColumnName("permits_commercial_use");
.HasColumnType("boolean");
b.Property<bool>("PermitsDistribution")
.HasColumnType("boolean")
.HasColumnName("permits_distribution");
.HasColumnType("boolean");
b.Property<bool>("PermitsModification")
.HasColumnType("boolean")
.HasColumnName("permits_modification");
.HasColumnType("boolean");
b.Property<string>("Url")
.HasColumnType("text")
.HasColumnName("url");
.HasColumnType("text");
b.HasKey("Id")
.HasName("pk_licenses");
b.HasKey("Id");
b.ToTable("licenses", (string)null);
b.HasIndex("Name")
.IsUnique();
b.ToTable("Licenses");
});
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Maintainer", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("EmailAddress")
.HasColumnType("text")
.HasColumnName("email_address");
.HasColumnType("text");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text")
.HasColumnName("name");
.HasColumnType("text");
b.Property<string>("TwitterHandle")
.HasColumnType("text")
.HasColumnName("twitter_handle");
.HasColumnType("text");
b.Property<string>("Url")
.HasColumnType("text")
.HasColumnName("url");
.HasColumnType("text");
b.HasKey("Id")
.HasName("pk_maintainers");
b.HasKey("Id");
b.ToTable("maintainers", (string)null);
b.HasIndex("Name")
.IsUnique();
b.ToTable("Maintainers");
});
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Merge", b =>
{
b.Property<int>("IncludedInFilterListId")
.HasColumnType("integer")
.HasColumnName("included_in_filter_list_id");
.HasColumnType("integer");
b.Property<int>("IncludesFilterListId")
.HasColumnType("integer")
.HasColumnName("includes_filter_list_id");
.HasColumnType("integer");
b.HasKey("IncludedInFilterListId", "IncludesFilterListId")
.HasName("pk_merges");
b.HasKey("IncludedInFilterListId", "IncludesFilterListId");
b.HasIndex("IncludesFilterListId")
.HasDatabaseName("ix_merges_includes_filter_list_id");
b.HasIndex("IncludesFilterListId");
b.ToTable("Merges", (string)null);
});
@ -355,53 +301,45 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("Description")
.HasColumnType("text")
.HasColumnName("description");
.HasColumnType("text");
b.Property<string>("DownloadUrl")
.HasColumnType("text")
.HasColumnName("download_url");
.HasColumnType("text");
b.Property<string>("HomeUrl")
.HasColumnType("text")
.HasColumnName("home_url");
.HasColumnType("text");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text")
.HasColumnName("name");
.HasColumnType("text");
b.Property<bool>("SupportsAbpUrlScheme")
.HasColumnType("boolean")
.HasColumnName("supports_abp_url_scheme");
.HasColumnType("boolean");
b.HasKey("Id")
.HasName("pk_software");
b.HasKey("Id");
b.ToTable("software", (string)null);
b.HasIndex("Name")
.IsUnique();
b.ToTable("Software");
});
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.SoftwareSyntax", b =>
{
b.Property<int>("SoftwareId")
.HasColumnType("integer")
.HasColumnName("software_id");
.HasColumnType("integer");
b.Property<int>("SyntaxId")
.HasColumnType("integer")
.HasColumnName("syntax_id");
.HasColumnType("integer");
b.HasKey("SoftwareId", "SyntaxId")
.HasName("pk_software_syntaxes");
b.HasKey("SoftwareId", "SyntaxId");
b.HasIndex("SyntaxId")
.HasDatabaseName("ix_software_syntaxes_syntax_id");
b.HasIndex("SyntaxId");
b.ToTable("SoftwareSyntaxes", (string)null);
});
@ -410,52 +348,49 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("Description")
.HasColumnType("text")
.HasColumnName("description");
.HasColumnType("text");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text")
.HasColumnName("name");
.HasColumnType("text");
b.Property<string>("Url")
.HasColumnType("text")
.HasColumnName("url");
.HasColumnType("text");
b.HasKey("Id")
.HasName("pk_syntaxes");
b.HasKey("Id");
b.ToTable("syntaxes", (string)null);
b.HasIndex("Name")
.IsUnique();
b.ToTable("Syntaxes");
});
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Tag", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id");
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("Description")
.HasColumnType("text")
.HasColumnName("description");
.HasColumnType("text");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text")
.HasColumnName("name");
.HasColumnType("text");
b.HasKey("Id")
.HasName("pk_tags");
b.HasKey("Id");
b.ToTable("tags", (string)null);
b.HasIndex("Name")
.IsUnique();
b.ToTable("Tags");
});
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Dependent", b =>
@ -464,15 +399,13 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
.WithMany("DependentFilterLists")
.HasForeignKey("DependencyFilterListId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_dependents_filter_lists_filter_list_id1");
.IsRequired();
b.HasOne("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.FilterList", "DependentFilterList")
.WithMany("DependencyFilterLists")
.HasForeignKey("DependentFilterListId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_dependents_filter_lists_filter_list_id");
.IsRequired();
b.Navigation("DependencyFilterList");
@ -483,8 +416,7 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
b.HasOne("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.License", null)
.WithMany("FilterLists")
.HasForeignKey("LicenseId")
.HasConstraintName("fk_filter_lists_licenses_license_id");
.HasForeignKey("LicenseId");
});
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.FilterListLanguage", b =>
@ -493,15 +425,13 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
.WithMany("FilterListLanguages")
.HasForeignKey("FilterListId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_filter_list_languages_filter_lists_filter_list_id");
.IsRequired();
b.HasOne("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Language", null)
.WithMany("FilterListLanguages")
.HasForeignKey("Iso6391")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_filter_list_languages_languages_language_temp_id");
.IsRequired();
});
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.FilterListMaintainer", b =>
@ -510,15 +440,13 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
.WithMany("FilterListMaintainers")
.HasForeignKey("FilterListId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_filter_list_maintainers_filter_lists_filter_list_id");
.IsRequired();
b.HasOne("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Maintainer", null)
.WithMany("FilterListMaintainers")
.HasForeignKey("MaintainerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_filter_list_maintainers_maintainers_maintainer_id");
.IsRequired();
});
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.FilterListSyntax", b =>
@ -527,15 +455,13 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
.WithMany("FilterListSyntaxes")
.HasForeignKey("FilterListId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_filter_list_syntaxes_filter_lists_filter_list_id");
.IsRequired();
b.HasOne("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Syntax", null)
.WithMany("FilterListSyntaxes")
.HasForeignKey("SyntaxId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_filter_list_syntaxes_syntaxes_syntax_id");
.IsRequired();
});
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.FilterListTag", b =>
@ -544,15 +470,13 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
.WithMany("FilterListTags")
.HasForeignKey("FilterListId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_filter_list_tags_filter_lists_filter_list_id");
.IsRequired();
b.HasOne("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Tag", null)
.WithMany("FilterListTags")
.HasForeignKey("TagId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_filter_list_tags_tags_tag_id");
.IsRequired();
});
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.FilterListViewUrl", b =>
@ -561,8 +485,7 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
.WithMany("ViewUrls")
.HasForeignKey("FilterListId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_filter_list_view_urls_filter_lists_filter_list_id");
.IsRequired();
});
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Fork", b =>
@ -571,15 +494,13 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
.WithMany("UpstreamFilterLists")
.HasForeignKey("ForkFilterListId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_forks_filter_lists_filter_list_id1");
.IsRequired();
b.HasOne("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.FilterList", "UpstreamFilterList")
.WithMany("ForkFilterLists")
.HasForeignKey("UpstreamFilterListId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_forks_filter_lists_filter_list_id");
.IsRequired();
b.Navigation("ForkFilterList");
@ -592,15 +513,13 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
.WithMany("IncludesFilterLists")
.HasForeignKey("IncludedInFilterListId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_merges_filter_lists_filter_list_id1");
.IsRequired();
b.HasOne("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.FilterList", "IncludesFilterList")
.WithMany("IncludedInFilterLists")
.HasForeignKey("IncludesFilterListId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_merges_filter_lists_filter_list_id");
.IsRequired();
b.Navigation("IncludedInFilterList");
@ -613,15 +532,13 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
.WithMany("SoftwareSyntaxes")
.HasForeignKey("SoftwareId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_software_syntaxes_software_software_id");
.IsRequired();
b.HasOne("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Syntax", null)
.WithMany("SoftwareSyntaxes")
.HasForeignKey("SyntaxId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_software_syntaxes_syntaxes_syntax_id");
.IsRequired();
});
modelBuilder.Entity("FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.FilterList", b =>

View file

@ -0,0 +1,491 @@
using Microsoft.EntityFrameworkCore.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace FilterLists.Directory.Infrastructure.Migrations.Migrations
{
public partial class Initial : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Languages",
columns: table => new
{
Iso6391 = table.Column<string>(type: "character(2)", fixedLength: true, maxLength: 2, nullable: false),
Name = table.Column<string>(type: "text", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Languages", x => x.Iso6391);
});
migrationBuilder.CreateTable(
name: "Licenses",
columns: table => new
{
Id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
Name = table.Column<string>(type: "text", nullable: false),
Url = table.Column<string>(type: "text", nullable: true),
PermitsModification = table.Column<bool>(type: "boolean", nullable: false),
PermitsDistribution = table.Column<bool>(type: "boolean", nullable: false),
PermitsCommercialUse = table.Column<bool>(type: "boolean", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Licenses", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Maintainers",
columns: table => new
{
Id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
Name = table.Column<string>(type: "text", nullable: false),
Url = table.Column<string>(type: "text", nullable: true),
EmailAddress = table.Column<string>(type: "text", nullable: true),
TwitterHandle = table.Column<string>(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Maintainers", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Software",
columns: table => new
{
Id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
Name = table.Column<string>(type: "text", nullable: false),
Description = table.Column<string>(type: "text", nullable: true),
HomeUrl = table.Column<string>(type: "text", nullable: true),
DownloadUrl = table.Column<string>(type: "text", nullable: true),
SupportsAbpUrlScheme = table.Column<bool>(type: "boolean", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Software", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Syntaxes",
columns: table => new
{
Id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
Name = table.Column<string>(type: "text", nullable: false),
Description = table.Column<string>(type: "text", nullable: true),
Url = table.Column<string>(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Syntaxes", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Tags",
columns: table => new
{
Id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
Name = table.Column<string>(type: "text", nullable: false),
Description = table.Column<string>(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Tags", x => x.Id);
});
migrationBuilder.CreateTable(
name: "FilterLists",
columns: table => new
{
Id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
Name = table.Column<string>(type: "text", nullable: false),
Description = table.Column<string>(type: "text", nullable: true),
LicenseId = table.Column<int>(type: "integer", nullable: true),
HomeUrl = table.Column<string>(type: "text", nullable: true),
OnionUrl = table.Column<string>(type: "text", nullable: true),
PolicyUrl = table.Column<string>(type: "text", nullable: true),
SubmissionUrl = table.Column<string>(type: "text", nullable: true),
IssuesUrl = table.Column<string>(type: "text", nullable: true),
ForumUrl = table.Column<string>(type: "text", nullable: true),
ChatUrl = table.Column<string>(type: "text", nullable: true),
EmailAddress = table.Column<string>(type: "text", nullable: true),
DonateUrl = table.Column<string>(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_FilterLists", x => x.Id);
table.ForeignKey(
name: "FK_FilterLists_Licenses_LicenseId",
column: x => x.LicenseId,
principalTable: "Licenses",
principalColumn: "Id");
});
migrationBuilder.CreateTable(
name: "SoftwareSyntaxes",
columns: table => new
{
SoftwareId = table.Column<int>(type: "integer", nullable: false),
SyntaxId = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_SoftwareSyntaxes", x => new { x.SoftwareId, x.SyntaxId });
table.ForeignKey(
name: "FK_SoftwareSyntaxes_Software_SoftwareId",
column: x => x.SoftwareId,
principalTable: "Software",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_SoftwareSyntaxes_Syntaxes_SyntaxId",
column: x => x.SyntaxId,
principalTable: "Syntaxes",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Dependents",
columns: table => new
{
DependencyFilterListId = table.Column<int>(type: "integer", nullable: false),
DependentFilterListId = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Dependents", x => new { x.DependencyFilterListId, x.DependentFilterListId });
table.ForeignKey(
name: "FK_Dependents_FilterLists_DependencyFilterListId",
column: x => x.DependencyFilterListId,
principalTable: "FilterLists",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Dependents_FilterLists_DependentFilterListId",
column: x => x.DependentFilterListId,
principalTable: "FilterLists",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "FilterListLanguages",
columns: table => new
{
FilterListId = table.Column<int>(type: "integer", nullable: false),
Iso6391 = table.Column<string>(type: "character(2)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_FilterListLanguages", x => new { x.FilterListId, x.Iso6391 });
table.ForeignKey(
name: "FK_FilterListLanguages_FilterLists_FilterListId",
column: x => x.FilterListId,
principalTable: "FilterLists",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_FilterListLanguages_Languages_Iso6391",
column: x => x.Iso6391,
principalTable: "Languages",
principalColumn: "Iso6391",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "FilterListMaintainers",
columns: table => new
{
FilterListId = table.Column<int>(type: "integer", nullable: false),
MaintainerId = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_FilterListMaintainers", x => new { x.FilterListId, x.MaintainerId });
table.ForeignKey(
name: "FK_FilterListMaintainers_FilterLists_FilterListId",
column: x => x.FilterListId,
principalTable: "FilterLists",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_FilterListMaintainers_Maintainers_MaintainerId",
column: x => x.MaintainerId,
principalTable: "Maintainers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "FilterListSyntaxes",
columns: table => new
{
FilterListId = table.Column<int>(type: "integer", nullable: false),
SyntaxId = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_FilterListSyntaxes", x => new { x.FilterListId, x.SyntaxId });
table.ForeignKey(
name: "FK_FilterListSyntaxes_FilterLists_FilterListId",
column: x => x.FilterListId,
principalTable: "FilterLists",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_FilterListSyntaxes_Syntaxes_SyntaxId",
column: x => x.SyntaxId,
principalTable: "Syntaxes",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "FilterListTags",
columns: table => new
{
FilterListId = table.Column<int>(type: "integer", nullable: false),
TagId = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_FilterListTags", x => new { x.FilterListId, x.TagId });
table.ForeignKey(
name: "FK_FilterListTags_FilterLists_FilterListId",
column: x => x.FilterListId,
principalTable: "FilterLists",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_FilterListTags_Tags_TagId",
column: x => x.TagId,
principalTable: "Tags",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "FilterListViewUrls",
columns: table => new
{
Id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
FilterListId = table.Column<int>(type: "integer", nullable: false),
SegmentNumber = table.Column<short>(type: "smallint", nullable: false, defaultValue: (short)1),
Primariness = table.Column<short>(type: "smallint", nullable: false, defaultValue: (short)1),
Url = table.Column<string>(type: "text", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_FilterListViewUrls", x => x.Id);
table.ForeignKey(
name: "FK_FilterListViewUrls_FilterLists_FilterListId",
column: x => x.FilterListId,
principalTable: "FilterLists",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Forks",
columns: table => new
{
UpstreamFilterListId = table.Column<int>(type: "integer", nullable: false),
ForkFilterListId = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Forks", x => new { x.UpstreamFilterListId, x.ForkFilterListId });
table.ForeignKey(
name: "FK_Forks_FilterLists_ForkFilterListId",
column: x => x.ForkFilterListId,
principalTable: "FilterLists",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Forks_FilterLists_UpstreamFilterListId",
column: x => x.UpstreamFilterListId,
principalTable: "FilterLists",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Merges",
columns: table => new
{
IncludedInFilterListId = table.Column<int>(type: "integer", nullable: false),
IncludesFilterListId = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Merges", x => new { x.IncludedInFilterListId, x.IncludesFilterListId });
table.ForeignKey(
name: "FK_Merges_FilterLists_IncludedInFilterListId",
column: x => x.IncludedInFilterListId,
principalTable: "FilterLists",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Merges_FilterLists_IncludesFilterListId",
column: x => x.IncludesFilterListId,
principalTable: "FilterLists",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_Dependents_DependentFilterListId",
table: "Dependents",
column: "DependentFilterListId");
migrationBuilder.CreateIndex(
name: "IX_FilterListLanguages_Iso6391",
table: "FilterListLanguages",
column: "Iso6391");
migrationBuilder.CreateIndex(
name: "IX_FilterListMaintainers_MaintainerId",
table: "FilterListMaintainers",
column: "MaintainerId");
migrationBuilder.CreateIndex(
name: "IX_FilterListSyntaxes_SyntaxId",
table: "FilterListSyntaxes",
column: "SyntaxId");
migrationBuilder.CreateIndex(
name: "IX_FilterListTags_TagId",
table: "FilterListTags",
column: "TagId");
migrationBuilder.CreateIndex(
name: "IX_FilterListViewUrls_FilterListId_SegmentNumber_Primariness",
table: "FilterListViewUrls",
columns: new[] { "FilterListId", "SegmentNumber", "Primariness" },
unique: true);
migrationBuilder.CreateIndex(
name: "IX_FilterLists_LicenseId",
table: "FilterLists",
column: "LicenseId");
migrationBuilder.CreateIndex(
name: "IX_FilterLists_Name",
table: "FilterLists",
column: "Name",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_Forks_ForkFilterListId",
table: "Forks",
column: "ForkFilterListId");
migrationBuilder.CreateIndex(
name: "IX_Languages_Name",
table: "Languages",
column: "Name",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_Licenses_Name",
table: "Licenses",
column: "Name",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_Maintainers_Name",
table: "Maintainers",
column: "Name",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_Merges_IncludesFilterListId",
table: "Merges",
column: "IncludesFilterListId");
migrationBuilder.CreateIndex(
name: "IX_Software_Name",
table: "Software",
column: "Name",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_SoftwareSyntaxes_SyntaxId",
table: "SoftwareSyntaxes",
column: "SyntaxId");
migrationBuilder.CreateIndex(
name: "IX_Syntaxes_Name",
table: "Syntaxes",
column: "Name",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_Tags_Name",
table: "Tags",
column: "Name",
unique: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "Dependents");
migrationBuilder.DropTable(
name: "FilterListLanguages");
migrationBuilder.DropTable(
name: "FilterListMaintainers");
migrationBuilder.DropTable(
name: "FilterListSyntaxes");
migrationBuilder.DropTable(
name: "FilterListTags");
migrationBuilder.DropTable(
name: "FilterListViewUrls");
migrationBuilder.DropTable(
name: "Forks");
migrationBuilder.DropTable(
name: "Merges");
migrationBuilder.DropTable(
name: "SoftwareSyntaxes");
migrationBuilder.DropTable(
name: "Languages");
migrationBuilder.DropTable(
name: "Maintainers");
migrationBuilder.DropTable(
name: "Tags");
migrationBuilder.DropTable(
name: "FilterLists");
migrationBuilder.DropTable(
name: "Software");
migrationBuilder.DropTable(
name: "Syntaxes");
migrationBuilder.DropTable(
name: "Licenses");
}
}
}