mirror of
https://github.com/collinbarrett/FilterLists.git
synced 2026-03-11 09:04:27 +00:00
Fix FilterList unique name constraint violations and regenerate migration
Co-authored-by: collinbarrett <6483057+collinbarrett@users.noreply.github.com>
This commit is contained in:
parent
64cdd50e33
commit
127699c9d4
5 changed files with 22 additions and 21 deletions
1
.github/copilot-instructions.md
vendored
1
.github/copilot-instructions.md
vendored
|
|
@ -208,5 +208,6 @@ API containerized with multi-stage build. Database runs in Docker volume with pe
|
|||
- **Read-only runtime**: Database modifications only via migrations
|
||||
- **Aspire orchestration**: Always start development via `FilterLists.AppHost`
|
||||
- **Unique naming**: All FilterList names must be unique and in title case
|
||||
- **⚠️ FilterList Name Uniqueness**: The database has a unique constraint on FilterList.Name. Any duplicate names will cause migration failures. When adding new FilterLists or modifying existing ones, ensure all names are unique. If differentiation is needed for similar lists (e.g., different hosting sources), use descriptive suffixes like "(GitHub Only)", "(GitHub Pages Primary)", etc.
|
||||
- **No build artifacts**: Never commit build artifacts like `dotnet-install.sh`, `node_modules`, `dist`, or other generated files
|
||||
- **⚠️ JSON File Location**: NEVER create or modify JSON data files in the repository root directory. All JSON data files MUST be in `services/Directory/data/` only. The root directory should only contain `global.json` (a .NET SDK configuration file)
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
namespace FilterLists.Directory.Infrastructure.Migrations.Migrations
|
||||
{
|
||||
[DbContext(typeof(QueryDbContext))]
|
||||
[Migration("20250730002542_Initial")]
|
||||
[Migration("20250730005601_Initial")]
|
||||
partial class Initial
|
||||
{
|
||||
/// <inheritdoc />
|
||||
|
|
@ -5181,7 +5181,7 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|||
ForumUrl = "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360",
|
||||
HomeUrl = "https://github.com/badmojr/1Hosts",
|
||||
LicenseId = 35,
|
||||
Name = "1Hosts Lite"
|
||||
Name = "1Hosts Lite (GitHub Only)"
|
||||
},
|
||||
new
|
||||
{
|
||||
|
|
@ -5191,7 +5191,7 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|||
ForumUrl = "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360",
|
||||
HomeUrl = "https://github.com/badmojr/1Hosts",
|
||||
LicenseId = 35,
|
||||
Name = "1Hosts Lite (Domains)"
|
||||
Name = "1Hosts Lite (Domains, GitHub Only)"
|
||||
},
|
||||
new
|
||||
{
|
||||
|
|
@ -14038,7 +14038,7 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|||
ForumUrl = "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360",
|
||||
HomeUrl = "https://github.com/badmojr/1Hosts",
|
||||
LicenseId = 35,
|
||||
Name = "1Hosts Lite (Adblockers)"
|
||||
Name = "1Hosts Lite (Adblockers, GitHub Only)"
|
||||
},
|
||||
new
|
||||
{
|
||||
|
|
@ -14443,7 +14443,7 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|||
ForumUrl = "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360",
|
||||
HomeUrl = "https://github.com/badmojr/1Hosts",
|
||||
LicenseId = 35,
|
||||
Name = "1Hosts Lite (dnsmasq)"
|
||||
Name = "1Hosts Lite (dnsmasq, GitHub Only)"
|
||||
},
|
||||
new
|
||||
{
|
||||
|
|
@ -16172,7 +16172,7 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|||
ForumUrl = "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360",
|
||||
HomeUrl = "https://github.com/badmojr/1Hosts",
|
||||
LicenseId = 35,
|
||||
Name = "1Hosts Lite (Domains with wildcards)"
|
||||
Name = "1Hosts Lite (Domains with wildcards, GitHub Pages Primary)"
|
||||
},
|
||||
new
|
||||
{
|
||||
|
|
@ -1664,8 +1664,8 @@ protected override void Up(MigrationBuilder migrationBuilder)
|
|||
{ 808, null, null, null, null, null, "https://ajnasz.hu/", null, 5, "ajnasz's list", null, null, null },
|
||||
{ 809, null, null, null, null, null, "https://www.ergensin.nl/", null, 5, "NLblock", null, null, null },
|
||||
{ 810, null, "Balanced - set & forget, prioritizes smooth UX, ideal for general users.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Lite (Domains)", null, null, null },
|
||||
{ 811, null, "Balanced - set & forget, prioritizes smooth UX, ideal for general users.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Lite", null, null, null },
|
||||
{ 812, null, "Balanced - set & forget, prioritizes smooth UX, ideal for general users.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Lite (Domains)", null, null, null },
|
||||
{ 811, null, "Balanced - set & forget, prioritizes smooth UX, ideal for general users.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Lite (GitHub Only)", null, null, null },
|
||||
{ 812, null, "Balanced - set & forget, prioritizes smooth UX, ideal for general users.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Lite (Domains, GitHub Only)", null, null, null },
|
||||
{ 813, null, "I use an ad blocker not because I hate ads, but because it makes the Internet so much more safe and less annoying. Most advertising is horrible and annoying, but there are exceptions. However, ad blocking lists like EasyList are dedicated to blocking all ads. The only maintained \"Acceptable Ads\" list is by Eyeo, Inc., which basically takes bribes to whitelist ads. I wanted to start an Acceptable Ads list that was of the people, by the people and for the people.", null, null, null, "https://github.com/jwinnie/acceptable-ads", "https://github.com/jwinnie/acceptable-ads/issues", 4, "jwinnie Acceptable Ads", null, null, null },
|
||||
{ 814, null, "Blocks Japanese regional mobile advertisements and trackers.", null, null, null, "https://gmbk0.tumblr.com/", null, 20, "gmbkslist (ABP)", null, null, null },
|
||||
{ 815, null, null, null, null, null, "https://code.google.com/archive/p/adblocking-openfilter-jp/", null, 32, "Adblocking Open Filter JP", null, null, null },
|
||||
|
|
@ -2649,7 +2649,7 @@ protected override void Up(MigrationBuilder migrationBuilder)
|
|||
{ 1951, null, "This is a list of unusually strange and/or presumed hostile IP addresses that thought it'd be a good idea to port scan or otherwise mistreat my publicly accessible AdGuard Home server, without having anything even close to a good reason for doing so.", "https://sproutsluckycorner.wordpress.com/2017/11/14/my-work-and-contact-resume/#donations", "imreeil42@gmail.com", null, "https://github.com/DandelionSprout/adfilt", "https://github.com/DandelionSprout/adfilt/issues", 35, "Dandelion Sprout's Disallowed Clients for AdGuard Home in Particular", null, null, null },
|
||||
{ 1952, null, "Twitter is a place full of distractions, strange things, and people you'd want to stay 200km away from at all times. If you wish to focus strictly on the 2% of Twitter that is actually any good nowadays, here's a list for you.", "https://sproutsluckycorner.wordpress.com/2017/11/14/my-work-and-contact-resume/#donations", "imreeil42@gmail.com", null, "https://github.com/DandelionSprout/adfilt", "https://github.com/DandelionSprout/adfilt/issues", 35, "Twitter: Pure Reading Experience", null, null, null },
|
||||
{ 1953, null, "Balanced - set & forget, prioritizes smooth UX, ideal for general users.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Lite (Adblockers)", null, null, null },
|
||||
{ 1954, null, "Balanced - set & forget, prioritizes smooth UX, ideal for general users.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Lite (Adblockers)", null, null, null },
|
||||
{ 1954, null, "Balanced - set & forget, prioritizes smooth UX, ideal for general users.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Lite (Adblockers, GitHub Only)", null, null, null },
|
||||
{ 1955, null, "Moderately strict - may introduce sporadic minor breaks, privacy-focused.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Pro (Adblockers)", null, null, null },
|
||||
{ 1956, null, "A blocklist to protect users against untrustworthy retail sites.", null, null, null, "https://github.com/durablenapkin/scamblocklist", "https://github.com/durablenapkin/scamblocklist/issues", 2, "Scam Blocklist", null, null, "https://github.com/durablenapkin/scamblocklist/issues/new/choose" },
|
||||
{ 1957, null, "A list of filters for use with the various Kiss sites.", null, null, null, "https://github.com/Yumire/kiss-filters/", null, 5, "Kiss Filters", null, null, null },
|
||||
|
|
@ -2690,7 +2690,7 @@ protected override void Up(MigrationBuilder migrationBuilder)
|
|||
{ 1998, null, "Block maps, location analytics, and GPS services", null, null, null, "https://github.com/Cybo1927/Hosts", "https://github.com/Cybo1927/Hosts/issues", 11, "Cybo's Anti Location Tracking", null, null, null },
|
||||
{ 2000, null, "Use this file to prevent your computer from connecting to selected internet hosts. This is an easy and effective way to protect you from many types of spyware, reduces bandwidth use, blocks certain pop-up traps, prevents user tracking by way of \"web bugs\" embedded in spam, provides partial protection to IE from certain web-based exploits and blocks most advertising you would otherwise be subjected to on the internet.", null, "hosts@someonewhocares.org", null, "https://someonewhocares.org/hosts/", null, 32, "Dan Pollock's Hosts (IPv4 + IPv6)", null, null, null },
|
||||
{ 2001, null, "Balanced - set & forget, prioritizes smooth UX, ideal for general users.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Lite (dnsmasq)", null, null, null },
|
||||
{ 2002, null, "Balanced - set & forget, prioritizes smooth UX, ideal for general users.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Lite (dnsmasq)", null, null, null },
|
||||
{ 2002, null, "Balanced - set & forget, prioritizes smooth UX, ideal for general users.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Lite (dnsmasq, GitHub Only)", null, null, null },
|
||||
{ 2003, null, "Moderately strict - may introduce sporadic minor breaks, privacy-focused.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Pro (dnsmasq)", null, null, null },
|
||||
{ 2004, null, "This is believed to be the world's oldest adblock list to still be hosted at its original domain, having last been updated in August 2003 and has rejected submissions ever since.", null, null, null, "http://www.accs-net.com/hosts/get_hosts.html", null, 5, "Gorilla Studio Hosts Project", null, null, null },
|
||||
{ 2005, null, null, null, null, null, null, null, 2, "Prigent Cryptojacking", null, null, null },
|
||||
|
|
@ -2887,7 +2887,7 @@ protected override void Up(MigrationBuilder migrationBuilder)
|
|||
{ 2277, null, "Say goodbye to ads, spies, tracking and untrusted hosts.", null, null, null, "https://github.com/TakoYachty/Gift-Card-Killer", "https://github.com/TakoYachty/Gift-Card-Killer/issues", 5, "Mega Untrusted Hosts Blocker", null, null, null },
|
||||
{ 2278, null, "Block fake onlineshops, malicious streaming platforms and other fraudulent agencies. List taken from watchlist-internet.at", null, null, null, "https://github.com/stonecrusher/filterlists-pihole", "https://github.com/stonecrusher/filterlists-pihole/issues", 9, "Watchlist Internet", null, null, null },
|
||||
{ 2279, null, "Balanced - set & forget, prioritizes smooth UX, ideal for general users.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Lite (Domains with wildcards)", null, null, null },
|
||||
{ 2280, null, "Balanced - set & forget, prioritizes smooth UX, ideal for general users.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Lite (Domains with wildcards)", null, null, null },
|
||||
{ 2280, null, "Balanced - set & forget, prioritizes smooth UX, ideal for general users.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Lite (Domains with wildcards, GitHub Pages Primary)", null, null, null },
|
||||
{ 2281, null, "Moderately strict - may introduce sporadic minor breaks, privacy-focused.", null, "badmojr@gmail.com", "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360", "https://github.com/badmojr/1Hosts", null, 35, "1Hosts Pro (Domains with wildcards)", null, null, null },
|
||||
{ 2283, null, "Goodbye Ads is designed for Unix-like systems (such as Android), gets a list of domains that serve ads, tracking scripts and malware from multiple reputable sources and creates a hosts file that prevents your system from connecting to them.", null, null, "https://forum.xda-developers.com/android/software-hacking/goodbye-ads-advanced-protection-ads-ad-t3827269", "https://github.com/jerryn70/GoodbyeAds", "https://github.com/jerryn70/GoodbyeAds/issues", 2, "Goodbye Ads (AdGuard)", null, null, null },
|
||||
{ 2284, null, "Unified list contains GoodbyeAds + YouTube + Samsung + Xiaomi + LeEco AdBlock. [Aggressive Blocking]", null, null, "https://forum.xda-developers.com/android/software-hacking/goodbye-ads-advanced-protection-ads-ad-t3827269", "https://github.com/jerryn70/GoodbyeAds", "https://github.com/jerryn70/GoodbyeAds/issues", 2, "Goodbye Ads Ultra", null, null, null },
|
||||
|
|
@ -5178,7 +5178,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
|
|||
ForumUrl = "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360",
|
||||
HomeUrl = "https://github.com/badmojr/1Hosts",
|
||||
LicenseId = 35,
|
||||
Name = "1Hosts Lite"
|
||||
Name = "1Hosts Lite (GitHub Only)"
|
||||
},
|
||||
new
|
||||
{
|
||||
|
|
@ -5188,7 +5188,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
|
|||
ForumUrl = "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360",
|
||||
HomeUrl = "https://github.com/badmojr/1Hosts",
|
||||
LicenseId = 35,
|
||||
Name = "1Hosts Lite (Domains)"
|
||||
Name = "1Hosts Lite (Domains, GitHub Only)"
|
||||
},
|
||||
new
|
||||
{
|
||||
|
|
@ -14035,7 +14035,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
|
|||
ForumUrl = "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360",
|
||||
HomeUrl = "https://github.com/badmojr/1Hosts",
|
||||
LicenseId = 35,
|
||||
Name = "1Hosts Lite (Adblockers)"
|
||||
Name = "1Hosts Lite (Adblockers, GitHub Only)"
|
||||
},
|
||||
new
|
||||
{
|
||||
|
|
@ -14440,7 +14440,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
|
|||
ForumUrl = "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360",
|
||||
HomeUrl = "https://github.com/badmojr/1Hosts",
|
||||
LicenseId = 35,
|
||||
Name = "1Hosts Lite (dnsmasq)"
|
||||
Name = "1Hosts Lite (dnsmasq, GitHub Only)"
|
||||
},
|
||||
new
|
||||
{
|
||||
|
|
@ -16169,7 +16169,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
|
|||
ForumUrl = "https://forum.xda-developers.com/android/general/badmojr-one-host-file-to-block-t3713360",
|
||||
HomeUrl = "https://github.com/badmojr/1Hosts",
|
||||
LicenseId = 35,
|
||||
Name = "1Hosts Lite (Domains with wildcards)"
|
||||
Name = "1Hosts Lite (Domains with wildcards, GitHub Pages Primary)"
|
||||
},
|
||||
new
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4482,7 +4482,7 @@
|
|||
"homeUrl": "https://github.com/badmojr/1Hosts",
|
||||
"id": 811,
|
||||
"licenseId": 35,
|
||||
"name": "1Hosts Lite"
|
||||
"name": "1Hosts Lite (GitHub Only)"
|
||||
},
|
||||
{
|
||||
"description": "Balanced - set & forget, prioritizes smooth UX, ideal for general users.",
|
||||
|
|
@ -4491,7 +4491,7 @@
|
|||
"homeUrl": "https://github.com/badmojr/1Hosts",
|
||||
"id": 812,
|
||||
"licenseId": 35,
|
||||
"name": "1Hosts Lite (Domains)"
|
||||
"name": "1Hosts Lite (Domains, GitHub Only)"
|
||||
},
|
||||
{
|
||||
"description": "I use an ad blocker not because I hate ads, but because it makes the Internet so much more safe and less annoying. Most advertising is horrible and annoying, but there are exceptions. However, ad blocking lists like EasyList are dedicated to blocking all ads. The only maintained \"Acceptable Ads\" list is by Eyeo, Inc., which basically takes bribes to whitelist ads. I wanted to start an Acceptable Ads list that was of the people, by the people and for the people.",
|
||||
|
|
@ -12356,7 +12356,7 @@
|
|||
"homeUrl": "https://github.com/badmojr/1Hosts",
|
||||
"id": 1954,
|
||||
"licenseId": 35,
|
||||
"name": "1Hosts Lite (Adblockers)"
|
||||
"name": "1Hosts Lite (Adblockers, GitHub Only)"
|
||||
},
|
||||
{
|
||||
"description": "Moderately strict - may introduce sporadic minor breaks, privacy-focused.",
|
||||
|
|
@ -12720,7 +12720,7 @@
|
|||
"homeUrl": "https://github.com/badmojr/1Hosts",
|
||||
"id": 2002,
|
||||
"licenseId": 35,
|
||||
"name": "1Hosts Lite (dnsmasq)"
|
||||
"name": "1Hosts Lite (dnsmasq, GitHub Only)"
|
||||
},
|
||||
{
|
||||
"description": "Moderately strict - may introduce sporadic minor breaks, privacy-focused.",
|
||||
|
|
@ -14253,7 +14253,7 @@
|
|||
"homeUrl": "https://github.com/badmojr/1Hosts",
|
||||
"id": 2280,
|
||||
"licenseId": 35,
|
||||
"name": "1Hosts Lite (Domains with wildcards)"
|
||||
"name": "1Hosts Lite (Domains with wildcards, GitHub Pages Primary)"
|
||||
},
|
||||
{
|
||||
"description": "Moderately strict - may introduce sporadic minor breaks, privacy-focused.",
|
||||
|
|
|
|||
Loading…
Reference in a new issue