mirror of
https://github.com/Cleanuparr/Cleanuparr.git
synced 2026-09-13 13:58:20 -04:00
1151 lines
59 KiB
C#
1151 lines
59 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
|
|
#nullable disable
|
|
|
|
namespace Cleanuparr.Persistence.Postgres.Migrations.Data
|
|
{
|
|
/// <inheritdoc />
|
|
public partial class InitialPostgres : Migration
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void Up(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.EnsureSchema(
|
|
name: "data");
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "arr_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
type = table.Column<string>(type: "text", nullable: false),
|
|
failed_import_max_strikes = table.Column<short>(type: "smallint", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_arr_configs", x => x.id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "blacklist_sync_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
cron_expression = table.Column<string>(type: "text", nullable: false),
|
|
blacklist_path = table.Column<string>(type: "text", nullable: true)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_blacklist_sync_configs", x => x.id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "content_blocker_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
cron_expression = table.Column<string>(type: "text", nullable: false),
|
|
use_advanced_scheduling = table.Column<bool>(type: "boolean", nullable: false),
|
|
ignore_private = table.Column<bool>(type: "boolean", nullable: false),
|
|
delete_private = table.Column<bool>(type: "boolean", nullable: false),
|
|
process_no_content_id = table.Column<bool>(type: "boolean", nullable: false),
|
|
delete_if_any_file_blocked = table.Column<bool>(type: "boolean", nullable: false),
|
|
ignored_downloads = table.Column<List<string>>(type: "text[]", nullable: false),
|
|
lidarr_blocklist_path = table.Column<string>(type: "text", nullable: true),
|
|
lidarr_blocklist_type = table.Column<string>(type: "text", nullable: false),
|
|
lidarr_enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
radarr_blocklist_path = table.Column<string>(type: "text", nullable: true),
|
|
radarr_blocklist_type = table.Column<string>(type: "text", nullable: false),
|
|
radarr_enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
readarr_blocklist_path = table.Column<string>(type: "text", nullable: true),
|
|
readarr_blocklist_type = table.Column<string>(type: "text", nullable: false),
|
|
readarr_enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
sonarr_blocklist_path = table.Column<string>(type: "text", nullable: true),
|
|
sonarr_blocklist_type = table.Column<string>(type: "text", nullable: false),
|
|
sonarr_enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
whisparr_blocklist_path = table.Column<string>(type: "text", nullable: true),
|
|
whisparr_blocklist_type = table.Column<int>(type: "integer", nullable: false),
|
|
whisparr_enabled = table.Column<bool>(type: "boolean", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_content_blocker_configs", x => x.id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "download_cleaner_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
cron_expression = table.Column<string>(type: "text", nullable: false),
|
|
use_advanced_scheduling = table.Column<bool>(type: "boolean", nullable: false),
|
|
ignored_downloads = table.Column<List<string>>(type: "text[]", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_download_cleaner_configs", x => x.id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "download_clients",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
name = table.Column<string>(type: "text", nullable: false),
|
|
type_name = table.Column<string>(type: "text", nullable: false),
|
|
type = table.Column<string>(type: "text", nullable: false),
|
|
host = table.Column<string>(type: "text", nullable: true),
|
|
username = table.Column<string>(type: "text", nullable: true),
|
|
password = table.Column<string>(type: "text", nullable: true),
|
|
url_base = table.Column<string>(type: "text", nullable: true),
|
|
external_url = table.Column<string>(type: "text", nullable: true),
|
|
download_directory_source = table.Column<string>(type: "text", nullable: true),
|
|
download_directory_target = table.Column<string>(type: "text", nullable: true)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_download_clients", x => x.id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "general_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
display_support_banner = table.Column<bool>(type: "boolean", nullable: false),
|
|
dry_run = table.Column<bool>(type: "boolean", nullable: false),
|
|
http_max_retries = table.Column<int>(type: "integer", nullable: false),
|
|
http_timeout = table.Column<int>(type: "integer", nullable: false),
|
|
http_certificate_validation = table.Column<string>(type: "text", nullable: false),
|
|
status_check_enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
encryption_key = table.Column<string>(type: "text", nullable: false),
|
|
ignored_downloads = table.Column<List<string>>(type: "text[]", nullable: false),
|
|
strike_inactivity_window_hours = table.Column<int>(type: "integer", nullable: false),
|
|
history_retention_days = table.Column<int>(type: "integer", nullable: false),
|
|
auth_disable_auth_for_local_addresses = table.Column<bool>(type: "boolean", nullable: false),
|
|
auth_trust_forwarded_headers = table.Column<bool>(type: "boolean", nullable: false),
|
|
auth_trusted_networks = table.Column<string>(type: "text", nullable: false),
|
|
log_archive_enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
log_archive_retained_count = table.Column<int>(type: "integer", nullable: false),
|
|
log_archive_time_limit_hours = table.Column<int>(type: "integer", nullable: false),
|
|
log_level = table.Column<string>(type: "text", nullable: false),
|
|
log_retained_file_count = table.Column<int>(type: "integer", nullable: false),
|
|
log_rolling_size_mb = table.Column<int>(type: "integer", nullable: false),
|
|
log_time_limit_hours = table.Column<int>(type: "integer", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_general_configs", x => x.id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "notification_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
name = table.Column<string>(type: "character varying(100)", maxLength: 100, nullable: false),
|
|
type = table.Column<string>(type: "text", nullable: false),
|
|
is_enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
on_failed_import_strike = table.Column<bool>(type: "boolean", nullable: false),
|
|
on_stalled_strike = table.Column<bool>(type: "boolean", nullable: false),
|
|
on_slow_strike = table.Column<bool>(type: "boolean", nullable: false),
|
|
on_queue_item_deleted = table.Column<bool>(type: "boolean", nullable: false),
|
|
on_download_cleaned = table.Column<bool>(type: "boolean", nullable: false),
|
|
on_category_changed = table.Column<bool>(type: "boolean", nullable: false),
|
|
on_search_triggered = table.Column<bool>(type: "boolean", nullable: false),
|
|
on_search_item_grabbed = table.Column<bool>(type: "boolean", nullable: false),
|
|
created_at = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false),
|
|
updated_at = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_notification_configs", x => x.id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "queue_cleaner_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
cron_expression = table.Column<string>(type: "text", nullable: false),
|
|
use_advanced_scheduling = table.Column<bool>(type: "boolean", nullable: false),
|
|
ignored_downloads = table.Column<List<string>>(type: "text[]", nullable: false),
|
|
process_no_content_id = table.Column<bool>(type: "boolean", nullable: false),
|
|
downloading_metadata_max_strikes = table.Column<int>(type: "integer", nullable: false),
|
|
failed_import_change_category = table.Column<bool>(type: "boolean", nullable: false),
|
|
failed_import_delete_private = table.Column<bool>(type: "boolean", nullable: false),
|
|
failed_import_ignore_private = table.Column<bool>(type: "boolean", nullable: false),
|
|
failed_import_max_strikes = table.Column<int>(type: "integer", nullable: false),
|
|
failed_import_pattern_mode = table.Column<string>(type: "text", nullable: false),
|
|
failed_import_patterns = table.Column<string[]>(type: "text[]", nullable: false),
|
|
failed_import_skip_if_not_found_in_client = table.Column<bool>(type: "boolean", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_queue_cleaner_configs", x => x.id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "seeker_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
search_enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
search_interval = table.Column<int>(type: "integer", nullable: false),
|
|
proactive_search_enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
selection_strategy = table.Column<string>(type: "text", nullable: false),
|
|
use_round_robin = table.Column<bool>(type: "boolean", nullable: false),
|
|
post_release_grace_hours = table.Column<int>(type: "integer", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_seeker_configs", x => x.id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "arr_instances",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
version = table.Column<float>(type: "real", nullable: false),
|
|
arr_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
name = table.Column<string>(type: "text", nullable: false),
|
|
url = table.Column<string>(type: "text", nullable: false),
|
|
external_url = table.Column<string>(type: "text", nullable: true),
|
|
api_key = table.Column<string>(type: "text", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_arr_instances", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_arr_instances_arr_configs_arr_config_id",
|
|
column: x => x.arr_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "arr_configs",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "blacklist_sync_history",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
hash = table.Column<string>(type: "text", nullable: false),
|
|
download_client_id = table.Column<Guid>(type: "uuid", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_blacklist_sync_history", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_blacklist_sync_history_download_clients_download_client_id",
|
|
column: x => x.download_client_id,
|
|
principalSchema: "data",
|
|
principalTable: "download_clients",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "dead_torrent_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
download_client_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
target_category = table.Column<string>(type: "text", nullable: false),
|
|
use_tag = table.Column<bool>(type: "boolean", nullable: false),
|
|
max_strikes = table.Column<int>(type: "integer", nullable: false),
|
|
categories = table.Column<string>(type: "text", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_dead_torrent_configs", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_dead_torrent_configs_download_clients_download_client_confi",
|
|
column: x => x.download_client_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "download_clients",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "deluge_seeding_rules",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
download_client_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
name = table.Column<string>(type: "text", nullable: false),
|
|
categories = table.Column<string>(type: "text", nullable: false),
|
|
tracker_patterns = table.Column<string>(type: "text", nullable: false),
|
|
priority = table.Column<int>(type: "integer", nullable: false),
|
|
privacy_type = table.Column<string>(type: "text", nullable: false),
|
|
max_ratio = table.Column<double>(type: "double precision", nullable: false),
|
|
min_seed_time = table.Column<double>(type: "double precision", nullable: false),
|
|
max_seed_time = table.Column<double>(type: "double precision", nullable: false),
|
|
min_seeders = table.Column<int>(type: "integer", nullable: false),
|
|
delete_source_files = table.Column<bool>(type: "boolean", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_deluge_seeding_rules", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_deluge_seeding_rules_download_clients_download_client_confi",
|
|
column: x => x.download_client_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "download_clients",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "orphaned_files_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
download_client_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
scan_directories = table.Column<string>(type: "text", nullable: false),
|
|
orphaned_directory = table.Column<string>(type: "text", nullable: false),
|
|
exclude_patterns = table.Column<string>(type: "text", nullable: false),
|
|
min_file_age_hours = table.Column<int>(type: "integer", nullable: false),
|
|
purge_after_hours = table.Column<int>(type: "integer", nullable: true)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_orphaned_files_configs", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_orphaned_files_configs_download_clients_download_client_con",
|
|
column: x => x.download_client_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "download_clients",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "q_bit_seeding_rules",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
download_client_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
name = table.Column<string>(type: "text", nullable: false),
|
|
categories = table.Column<string>(type: "text", nullable: false),
|
|
tracker_patterns = table.Column<string>(type: "text", nullable: false),
|
|
tags_any = table.Column<string>(type: "text", nullable: false),
|
|
tags_all = table.Column<string>(type: "text", nullable: false),
|
|
priority = table.Column<int>(type: "integer", nullable: false),
|
|
privacy_type = table.Column<string>(type: "text", nullable: false),
|
|
max_ratio = table.Column<double>(type: "double precision", nullable: false),
|
|
min_seed_time = table.Column<double>(type: "double precision", nullable: false),
|
|
max_seed_time = table.Column<double>(type: "double precision", nullable: false),
|
|
min_seeders = table.Column<int>(type: "integer", nullable: false),
|
|
delete_source_files = table.Column<bool>(type: "boolean", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_q_bit_seeding_rules", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_q_bit_seeding_rules_download_clients_download_client_config",
|
|
column: x => x.download_client_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "download_clients",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "r_torrent_seeding_rules",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
download_client_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
name = table.Column<string>(type: "text", nullable: false),
|
|
categories = table.Column<string>(type: "text", nullable: false),
|
|
tracker_patterns = table.Column<string>(type: "text", nullable: false),
|
|
priority = table.Column<int>(type: "integer", nullable: false),
|
|
privacy_type = table.Column<string>(type: "text", nullable: false),
|
|
max_ratio = table.Column<double>(type: "double precision", nullable: false),
|
|
min_seed_time = table.Column<double>(type: "double precision", nullable: false),
|
|
max_seed_time = table.Column<double>(type: "double precision", nullable: false),
|
|
delete_source_files = table.Column<bool>(type: "boolean", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_r_torrent_seeding_rules", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_r_torrent_seeding_rules_download_clients_download_client_co",
|
|
column: x => x.download_client_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "download_clients",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "transmission_seeding_rules",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
download_client_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
name = table.Column<string>(type: "text", nullable: false),
|
|
categories = table.Column<string>(type: "text", nullable: false),
|
|
tracker_patterns = table.Column<string>(type: "text", nullable: false),
|
|
tags_any = table.Column<string>(type: "text", nullable: false),
|
|
tags_all = table.Column<string>(type: "text", nullable: false),
|
|
priority = table.Column<int>(type: "integer", nullable: false),
|
|
privacy_type = table.Column<string>(type: "text", nullable: false),
|
|
max_ratio = table.Column<double>(type: "double precision", nullable: false),
|
|
min_seed_time = table.Column<double>(type: "double precision", nullable: false),
|
|
max_seed_time = table.Column<double>(type: "double precision", nullable: false),
|
|
min_seeders = table.Column<int>(type: "integer", nullable: false),
|
|
delete_source_files = table.Column<bool>(type: "boolean", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_transmission_seeding_rules", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_transmission_seeding_rules_download_clients_download_client",
|
|
column: x => x.download_client_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "download_clients",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "u_torrent_seeding_rules",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
download_client_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
name = table.Column<string>(type: "text", nullable: false),
|
|
categories = table.Column<string>(type: "text", nullable: false),
|
|
tracker_patterns = table.Column<string>(type: "text", nullable: false),
|
|
priority = table.Column<int>(type: "integer", nullable: false),
|
|
privacy_type = table.Column<string>(type: "text", nullable: false),
|
|
max_ratio = table.Column<double>(type: "double precision", nullable: false),
|
|
min_seed_time = table.Column<double>(type: "double precision", nullable: false),
|
|
max_seed_time = table.Column<double>(type: "double precision", nullable: false),
|
|
min_seeders = table.Column<int>(type: "integer", nullable: false),
|
|
delete_source_files = table.Column<bool>(type: "boolean", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_u_torrent_seeding_rules", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_u_torrent_seeding_rules_download_clients_download_client_co",
|
|
column: x => x.download_client_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "download_clients",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "unlinked_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
download_client_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
target_category = table.Column<string>(type: "text", nullable: false),
|
|
use_tag = table.Column<bool>(type: "boolean", nullable: false),
|
|
ignored_root_dirs = table.Column<List<string>>(type: "text[]", nullable: false),
|
|
categories = table.Column<List<string>>(type: "text[]", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_unlinked_configs", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_unlinked_configs_download_clients_download_client_config_id",
|
|
column: x => x.download_client_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "download_clients",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "apprise_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
notification_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
mode = table.Column<string>(type: "text", nullable: false),
|
|
url = table.Column<string>(type: "character varying(500)", maxLength: 500, nullable: false),
|
|
key = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
tags = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: true),
|
|
service_urls = table.Column<string>(type: "character varying(4000)", maxLength: 4000, nullable: true)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_apprise_configs", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_apprise_configs_notification_configs_notification_config_id",
|
|
column: x => x.notification_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "notification_configs",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "discord_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
notification_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
webhook_url = table.Column<string>(type: "character varying(500)", maxLength: 500, nullable: false),
|
|
username = table.Column<string>(type: "character varying(80)", maxLength: 80, nullable: false),
|
|
avatar_url = table.Column<string>(type: "character varying(500)", maxLength: 500, nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_discord_configs", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_discord_configs_notification_configs_notification_config_id",
|
|
column: x => x.notification_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "notification_configs",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "gotify_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
notification_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
server_url = table.Column<string>(type: "character varying(500)", maxLength: 500, nullable: false),
|
|
application_token = table.Column<string>(type: "character varying(200)", maxLength: 200, nullable: false),
|
|
priority = table.Column<int>(type: "integer", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_gotify_configs", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_gotify_configs_notification_configs_notification_config_id",
|
|
column: x => x.notification_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "notification_configs",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "notifiarr_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
notification_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
api_key = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
channel_id = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_notifiarr_configs", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_notifiarr_configs_notification_configs_notification_config_",
|
|
column: x => x.notification_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "notification_configs",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "ntfy_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
notification_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
server_url = table.Column<string>(type: "character varying(500)", maxLength: 500, nullable: false),
|
|
topics = table.Column<List<string>>(type: "text[]", nullable: false),
|
|
authentication_type = table.Column<string>(type: "text", nullable: false),
|
|
username = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: true),
|
|
password = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: true),
|
|
access_token = table.Column<string>(type: "character varying(500)", maxLength: 500, nullable: true),
|
|
priority = table.Column<string>(type: "text", nullable: false),
|
|
tags = table.Column<List<string>>(type: "text[]", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_ntfy_configs", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_ntfy_configs_notification_configs_notification_config_id",
|
|
column: x => x.notification_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "notification_configs",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "pushover_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
notification_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
api_token = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false),
|
|
user_key = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false),
|
|
devices = table.Column<string>(type: "text", nullable: false),
|
|
priority = table.Column<string>(type: "text", nullable: false),
|
|
sound = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: true),
|
|
retry = table.Column<int>(type: "integer", nullable: true),
|
|
expire = table.Column<int>(type: "integer", nullable: true),
|
|
tags = table.Column<string>(type: "text", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_pushover_configs", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_pushover_configs_notification_configs_notification_config_id",
|
|
column: x => x.notification_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "notification_configs",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "telegram_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
notification_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
bot_token = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
chat_id = table.Column<string>(type: "character varying(100)", maxLength: 100, nullable: false),
|
|
topic_id = table.Column<string>(type: "character varying(100)", maxLength: 100, nullable: true),
|
|
send_silently = table.Column<bool>(type: "boolean", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_telegram_configs", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_telegram_configs_notification_configs_notification_config_id",
|
|
column: x => x.notification_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "notification_configs",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "slow_rules",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
reset_strikes_on_progress = table.Column<bool>(type: "boolean", nullable: false),
|
|
max_time_hours = table.Column<double>(type: "double precision", nullable: false),
|
|
min_speed = table.Column<string>(type: "text", nullable: false),
|
|
ignore_above_size = table.Column<string>(type: "text", nullable: true),
|
|
queue_cleaner_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
name = table.Column<string>(type: "text", nullable: false),
|
|
enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
max_strikes = table.Column<int>(type: "integer", nullable: false),
|
|
privacy_type = table.Column<string>(type: "text", nullable: false),
|
|
min_completion_percentage = table.Column<int>(type: "integer", nullable: false),
|
|
max_completion_percentage = table.Column<int>(type: "integer", nullable: false),
|
|
delete_private_torrents_from_client = table.Column<bool>(type: "boolean", nullable: false),
|
|
change_category = table.Column<bool>(type: "boolean", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_slow_rules", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_slow_rules_queue_cleaner_configs_queue_cleaner_config_id",
|
|
column: x => x.queue_cleaner_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "queue_cleaner_configs",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "stall_rules",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
reset_strikes_on_progress = table.Column<bool>(type: "boolean", nullable: false),
|
|
minimum_progress = table.Column<string>(type: "text", nullable: true),
|
|
queue_cleaner_config_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
name = table.Column<string>(type: "text", nullable: false),
|
|
enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
max_strikes = table.Column<int>(type: "integer", nullable: false),
|
|
privacy_type = table.Column<string>(type: "text", nullable: false),
|
|
min_completion_percentage = table.Column<int>(type: "integer", nullable: false),
|
|
max_completion_percentage = table.Column<int>(type: "integer", nullable: false),
|
|
delete_private_torrents_from_client = table.Column<bool>(type: "boolean", nullable: false),
|
|
change_category = table.Column<bool>(type: "boolean", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_stall_rules", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_stall_rules_queue_cleaner_configs_queue_cleaner_config_id",
|
|
column: x => x.queue_cleaner_config_id,
|
|
principalSchema: "data",
|
|
principalTable: "queue_cleaner_configs",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "seeker_instance_configs",
|
|
schema: "data",
|
|
columns: table => new
|
|
{
|
|
id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
arr_instance_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
enabled = table.Column<bool>(type: "boolean", nullable: false),
|
|
skip_tags = table.Column<List<string>>(type: "text[]", nullable: false),
|
|
last_processed_at = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true),
|
|
current_cycle_id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
total_eligible_items = table.Column<int>(type: "integer", nullable: false),
|
|
active_download_limit = table.Column<int>(type: "integer", nullable: false),
|
|
min_cycle_time_days = table.Column<int>(type: "integer", nullable: false),
|
|
monitored_only = table.Column<bool>(type: "boolean", nullable: false),
|
|
use_cutoff = table.Column<bool>(type: "boolean", nullable: false),
|
|
use_custom_format_score = table.Column<bool>(type: "boolean", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("pk_seeker_instance_configs", x => x.id);
|
|
table.ForeignKey(
|
|
name: "fk_seeker_instance_configs_arr_instances_arr_instance_id",
|
|
column: x => x.arr_instance_id,
|
|
principalSchema: "data",
|
|
principalTable: "arr_instances",
|
|
principalColumn: "id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_apprise_configs_notification_config_id",
|
|
schema: "data",
|
|
table: "apprise_configs",
|
|
column: "notification_config_id",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_arr_instances_arr_config_id",
|
|
schema: "data",
|
|
table: "arr_instances",
|
|
column: "arr_config_id");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_blacklist_sync_history_download_client_id",
|
|
schema: "data",
|
|
table: "blacklist_sync_history",
|
|
column: "download_client_id");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_blacklist_sync_history_hash",
|
|
schema: "data",
|
|
table: "blacklist_sync_history",
|
|
column: "hash");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_blacklist_sync_history_hash_download_client_id",
|
|
schema: "data",
|
|
table: "blacklist_sync_history",
|
|
columns: new[] { "hash", "download_client_id" },
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_dead_torrent_configs_download_client_config_id",
|
|
schema: "data",
|
|
table: "dead_torrent_configs",
|
|
column: "download_client_config_id",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_deluge_seeding_rules_download_client_config_id",
|
|
schema: "data",
|
|
table: "deluge_seeding_rules",
|
|
column: "download_client_config_id");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_discord_configs_notification_config_id",
|
|
schema: "data",
|
|
table: "discord_configs",
|
|
column: "notification_config_id",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_gotify_configs_notification_config_id",
|
|
schema: "data",
|
|
table: "gotify_configs",
|
|
column: "notification_config_id",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_notifiarr_configs_notification_config_id",
|
|
schema: "data",
|
|
table: "notifiarr_configs",
|
|
column: "notification_config_id",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_notification_configs_name",
|
|
schema: "data",
|
|
table: "notification_configs",
|
|
column: "name",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_ntfy_configs_notification_config_id",
|
|
schema: "data",
|
|
table: "ntfy_configs",
|
|
column: "notification_config_id",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_orphaned_files_configs_download_client_config_id",
|
|
schema: "data",
|
|
table: "orphaned_files_configs",
|
|
column: "download_client_config_id",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_pushover_configs_notification_config_id",
|
|
schema: "data",
|
|
table: "pushover_configs",
|
|
column: "notification_config_id",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_q_bit_seeding_rules_download_client_config_id",
|
|
schema: "data",
|
|
table: "q_bit_seeding_rules",
|
|
column: "download_client_config_id");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_r_torrent_seeding_rules_download_client_config_id",
|
|
schema: "data",
|
|
table: "r_torrent_seeding_rules",
|
|
column: "download_client_config_id");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_seeker_instance_configs_arr_instance_id",
|
|
schema: "data",
|
|
table: "seeker_instance_configs",
|
|
column: "arr_instance_id",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_slow_rules_queue_cleaner_config_id",
|
|
schema: "data",
|
|
table: "slow_rules",
|
|
column: "queue_cleaner_config_id");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_stall_rules_queue_cleaner_config_id",
|
|
schema: "data",
|
|
table: "stall_rules",
|
|
column: "queue_cleaner_config_id");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_telegram_configs_notification_config_id",
|
|
schema: "data",
|
|
table: "telegram_configs",
|
|
column: "notification_config_id",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_transmission_seeding_rules_download_client_config_id",
|
|
schema: "data",
|
|
table: "transmission_seeding_rules",
|
|
column: "download_client_config_id");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_u_torrent_seeding_rules_download_client_config_id",
|
|
schema: "data",
|
|
table: "u_torrent_seeding_rules",
|
|
column: "download_client_config_id");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "ix_unlinked_configs_download_client_config_id",
|
|
schema: "data",
|
|
table: "unlinked_configs",
|
|
column: "download_client_config_id",
|
|
unique: true);
|
|
|
|
migrationBuilder.InsertData(
|
|
schema: "data",
|
|
table: "general_configs",
|
|
columns: new[]
|
|
{
|
|
"id", "display_support_banner", "dry_run", "http_max_retries", "http_timeout", "http_certificate_validation",
|
|
"status_check_enabled", "encryption_key", "ignored_downloads", "strike_inactivity_window_hours", "history_retention_days",
|
|
"auth_disable_auth_for_local_addresses", "auth_trust_forwarded_headers", "auth_trusted_networks",
|
|
"log_archive_enabled", "log_archive_retained_count", "log_archive_time_limit_hours", "log_level",
|
|
"log_retained_file_count", "log_rolling_size_mb", "log_time_limit_hours",
|
|
},
|
|
values: new object[]
|
|
{
|
|
Guid.NewGuid(), true, false, 0, 100, "enabled",
|
|
true, Guid.NewGuid().ToString(), Array.Empty<string>(), 24, 365,
|
|
false, false, "",
|
|
true, 60, 720, "information",
|
|
5, 10, 24,
|
|
});
|
|
|
|
migrationBuilder.InsertData(
|
|
schema: "data",
|
|
table: "queue_cleaner_configs",
|
|
columns: new[]
|
|
{
|
|
"id", "enabled", "cron_expression", "use_advanced_scheduling", "ignored_downloads", "process_no_content_id",
|
|
"downloading_metadata_max_strikes", "failed_import_change_category", "failed_import_delete_private",
|
|
"failed_import_ignore_private", "failed_import_max_strikes", "failed_import_pattern_mode",
|
|
"failed_import_patterns", "failed_import_skip_if_not_found_in_client",
|
|
},
|
|
values: new object[]
|
|
{
|
|
Guid.NewGuid(), false, "0 0/5 * * * ?", false, Array.Empty<string>(), false,
|
|
0, false, false,
|
|
false, 0, "include",
|
|
Array.Empty<string>(), true,
|
|
});
|
|
|
|
migrationBuilder.InsertData(
|
|
schema: "data",
|
|
table: "content_blocker_configs",
|
|
columns: new[]
|
|
{
|
|
"id", "enabled", "cron_expression", "use_advanced_scheduling", "ignore_private", "delete_private",
|
|
"process_no_content_id", "delete_if_any_file_blocked",
|
|
"sonarr_enabled", "sonarr_blocklist_path", "sonarr_blocklist_type",
|
|
"radarr_enabled", "radarr_blocklist_path", "radarr_blocklist_type",
|
|
"lidarr_enabled", "lidarr_blocklist_path", "lidarr_blocklist_type",
|
|
"readarr_enabled", "readarr_blocklist_path", "readarr_blocklist_type",
|
|
"whisparr_enabled", "whisparr_blocklist_path", "whisparr_blocklist_type",
|
|
"ignored_downloads",
|
|
},
|
|
values: new object[]
|
|
{
|
|
Guid.NewGuid(), false, "0/5 * * * * ?", false, false, false,
|
|
false, false,
|
|
false, null, "blacklist",
|
|
false, null, "blacklist",
|
|
false, null, "blacklist",
|
|
false, null, "blacklist",
|
|
false, null, 0,
|
|
Array.Empty<string>(),
|
|
});
|
|
|
|
migrationBuilder.InsertData(
|
|
schema: "data",
|
|
table: "download_cleaner_configs",
|
|
columns: new[] { "id", "enabled", "cron_expression", "use_advanced_scheduling", "ignored_downloads" },
|
|
values: new object[] { Guid.NewGuid(), false, "0 0 * * * ?", false, Array.Empty<string>() });
|
|
|
|
migrationBuilder.InsertData(
|
|
schema: "data",
|
|
table: "seeker_configs",
|
|
columns: new[]
|
|
{
|
|
"id", "search_enabled", "search_interval", "proactive_search_enabled",
|
|
"selection_strategy", "use_round_robin", "post_release_grace_hours",
|
|
},
|
|
values: new object[] { Guid.NewGuid(), true, 10, false, "balancedweighted", true, 6 });
|
|
|
|
migrationBuilder.InsertData(
|
|
schema: "data",
|
|
table: "blacklist_sync_configs",
|
|
columns: new[] { "id", "enabled", "cron_expression", "blacklist_path" },
|
|
values: new object[] { Guid.NewGuid(), false, "0 0 * * * ?", null });
|
|
|
|
migrationBuilder.InsertData(
|
|
schema: "data",
|
|
table: "arr_configs",
|
|
columns: new[] { "id", "failed_import_max_strikes", "type" },
|
|
values: new object[] { Guid.NewGuid(), (short)-1, "radarr" });
|
|
|
|
migrationBuilder.InsertData(
|
|
schema: "data",
|
|
table: "arr_configs",
|
|
columns: new[] { "id", "failed_import_max_strikes", "type" },
|
|
values: new object[] { Guid.NewGuid(), (short)-1, "lidarr" });
|
|
|
|
migrationBuilder.InsertData(
|
|
schema: "data",
|
|
table: "arr_configs",
|
|
columns: new[] { "id", "failed_import_max_strikes", "type" },
|
|
values: new object[] { Guid.NewGuid(), (short)-1, "sonarr" });
|
|
|
|
migrationBuilder.InsertData(
|
|
schema: "data",
|
|
table: "arr_configs",
|
|
columns: new[] { "id", "failed_import_max_strikes", "type" },
|
|
values: new object[] { Guid.NewGuid(), (short)-1, "readarr" });
|
|
|
|
migrationBuilder.InsertData(
|
|
schema: "data",
|
|
table: "arr_configs",
|
|
columns: new[] { "id", "failed_import_max_strikes", "type" },
|
|
values: new object[] { Guid.NewGuid(), (short)-1, "whisparr" });
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
protected override void Down(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.DropTable(
|
|
name: "apprise_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "blacklist_sync_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "blacklist_sync_history",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "content_blocker_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "dead_torrent_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "deluge_seeding_rules",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "discord_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "download_cleaner_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "general_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "gotify_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "notifiarr_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "ntfy_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "orphaned_files_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "pushover_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "q_bit_seeding_rules",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "r_torrent_seeding_rules",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "seeker_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "seeker_instance_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "slow_rules",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "stall_rules",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "telegram_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "transmission_seeding_rules",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "u_torrent_seeding_rules",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "unlinked_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "arr_instances",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "queue_cleaner_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "notification_configs",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "download_clients",
|
|
schema: "data");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "arr_configs",
|
|
schema: "data");
|
|
}
|
|
}
|
|
}
|