diff --git a/BTCPayServer.Data/Migrations/20201228223651_RenamingInvoiceSearchDataToFollowConvention.cs b/BTCPayServer.Data/Migrations/20201228223651_RenamingInvoiceSearchDataToFollowConvention.cs
deleted file mode 100644
index 1f4f86fe2..000000000
--- a/BTCPayServer.Data/Migrations/20201228223651_RenamingInvoiceSearchDataToFollowConvention.cs
+++ /dev/null
@@ -1,87 +0,0 @@
-using BTCPayServer.Data;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace BTCPayServer.Migrations
-{
- [DbContext(typeof(ApplicationDbContext))]
- [Migration("20201228223651_RenamingInvoiceSearchDataToFollowConvention")]
- public partial class RenamingInvoiceSearchDataToFollowConvention : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropForeignKey(
- name: "FK_InvoiceSearchDatas_Invoices_InvoiceDataId",
- table: "InvoiceSearchDatas");
-
- migrationBuilder.DropPrimaryKey(
- name: "PK_InvoiceSearchDatas",
- table: "InvoiceSearchDatas");
-
- migrationBuilder.RenameTable(
- name: "InvoiceSearchDatas",
- newName: "InvoiceSearches");
-
- migrationBuilder.RenameIndex(
- name: "IX_InvoiceSearchDatas_Value",
- table: "InvoiceSearches",
- newName: "IX_InvoiceSearches_Value");
-
- migrationBuilder.RenameIndex(
- name: "IX_InvoiceSearchDatas_InvoiceDataId",
- table: "InvoiceSearches",
- newName: "IX_InvoiceSearches_InvoiceDataId");
-
- migrationBuilder.AddPrimaryKey(
- name: "PK_InvoiceSearches",
- table: "InvoiceSearches",
- column: "Id");
-
- migrationBuilder.AddForeignKey(
- name: "FK_InvoiceSearches_Invoices_InvoiceDataId",
- table: "InvoiceSearches",
- column: "InvoiceDataId",
- principalTable: "Invoices",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropForeignKey(
- name: "FK_InvoiceSearches_Invoices_InvoiceDataId",
- table: "InvoiceSearches");
-
- migrationBuilder.DropPrimaryKey(
- name: "PK_InvoiceSearches",
- table: "InvoiceSearches");
-
- migrationBuilder.RenameTable(
- name: "InvoiceSearches",
- newName: "InvoiceSearchDatas");
-
- migrationBuilder.RenameIndex(
- name: "IX_InvoiceSearches_Value",
- table: "InvoiceSearchDatas",
- newName: "IX_InvoiceSearchDatas_Value");
-
- migrationBuilder.RenameIndex(
- name: "IX_InvoiceSearches_InvoiceDataId",
- table: "InvoiceSearchDatas",
- newName: "IX_InvoiceSearchDatas_InvoiceDataId");
-
- migrationBuilder.AddPrimaryKey(
- name: "PK_InvoiceSearchDatas",
- table: "InvoiceSearchDatas",
- column: "Id");
-
- migrationBuilder.AddForeignKey(
- name: "FK_InvoiceSearchDatas_Invoices_InvoiceDataId",
- table: "InvoiceSearchDatas",
- column: "InvoiceDataId",
- principalTable: "Invoices",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- }
- }
-}
diff --git a/BTCPayServer.Data/Migrations/20201228225040_AddingInvoiceSearchesTable.Designer.cs b/BTCPayServer.Data/Migrations/20201228225040_AddingInvoiceSearchesTable.Designer.cs
new file mode 100644
index 000000000..ed65d7d27
--- /dev/null
+++ b/BTCPayServer.Data/Migrations/20201228225040_AddingInvoiceSearchesTable.Designer.cs
@@ -0,0 +1,1205 @@
+//
+using System;
+using BTCPayServer.Data;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+namespace BTCPayServer.Migrations
+{
+ [DbContext(typeof(ApplicationDbContext))]
+ [Migration("20201228225040_AddingInvoiceSearchesTable")]
+ partial class AddingInvoiceSearchesTable
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "3.1.4");
+
+ modelBuilder.Entity("BTCPayServer.Data.APIKeyData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT")
+ .HasMaxLength(50);
+
+ b.Property("Blob")
+ .HasColumnType("BLOB");
+
+ b.Property("Label")
+ .HasColumnType("TEXT");
+
+ b.Property("StoreId")
+ .HasColumnType("TEXT")
+ .HasMaxLength(50);
+
+ b.Property("Type")
+ .HasColumnType("INTEGER");
+
+ b.Property("UserId")
+ .HasColumnType("TEXT")
+ .HasMaxLength(50);
+
+ b.HasKey("Id");
+
+ b.HasIndex("StoreId");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("ApiKeys");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.AddressInvoiceData", b =>
+ {
+ b.Property("Address")
+ .HasColumnType("TEXT");
+
+ b.Property("CreatedTime")
+ .HasColumnType("TEXT");
+
+ b.Property("InvoiceDataId")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Address");
+
+ b.HasIndex("InvoiceDataId");
+
+ b.ToTable("AddressInvoices");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.AppData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT");
+
+ b.Property("AppType")
+ .HasColumnType("TEXT");
+
+ b.Property("Created")
+ .HasColumnType("TEXT");
+
+ b.Property("Name")
+ .HasColumnType("TEXT");
+
+ b.Property("Settings")
+ .HasColumnType("TEXT");
+
+ b.Property("StoreDataId")
+ .HasColumnType("TEXT");
+
+ b.Property("TagAllInvoices")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.HasIndex("StoreDataId");
+
+ b.ToTable("Apps");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.ApplicationUser", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT");
+
+ b.Property("AccessFailedCount")
+ .HasColumnType("INTEGER");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasColumnType("TEXT");
+
+ b.Property("Created")
+ .HasColumnType("TEXT");
+
+ b.Property("DisabledNotifications")
+ .HasColumnType("TEXT");
+
+ b.Property("Email")
+ .HasColumnType("TEXT")
+ .HasMaxLength(256);
+
+ b.Property("EmailConfirmed")
+ .HasColumnType("INTEGER");
+
+ b.Property("LockoutEnabled")
+ .HasColumnType("INTEGER");
+
+ b.Property("LockoutEnd")
+ .HasColumnType("TEXT");
+
+ b.Property("NormalizedEmail")
+ .HasColumnType("TEXT")
+ .HasMaxLength(256);
+
+ b.Property("NormalizedUserName")
+ .HasColumnType("TEXT")
+ .HasMaxLength(256);
+
+ b.Property("PasswordHash")
+ .HasColumnType("TEXT");
+
+ b.Property("PhoneNumber")
+ .HasColumnType("TEXT");
+
+ b.Property("PhoneNumberConfirmed")
+ .HasColumnType("INTEGER");
+
+ b.Property("RequiresEmailConfirmation")
+ .HasColumnType("INTEGER");
+
+ b.Property("SecurityStamp")
+ .HasColumnType("TEXT");
+
+ b.Property("TwoFactorEnabled")
+ .HasColumnType("INTEGER");
+
+ b.Property("UserName")
+ .HasColumnType("TEXT")
+ .HasMaxLength(256);
+
+ b.HasKey("Id");
+
+ b.HasIndex("NormalizedEmail")
+ .HasName("EmailIndex");
+
+ b.HasIndex("NormalizedUserName")
+ .IsUnique()
+ .HasName("UserNameIndex");
+
+ b.ToTable("AspNetUsers");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.HistoricalAddressInvoiceData", b =>
+ {
+ b.Property("InvoiceDataId")
+ .HasColumnType("TEXT");
+
+ b.Property("Address")
+ .HasColumnType("TEXT");
+
+ b.Property("Assigned")
+ .HasColumnType("TEXT");
+
+ b.Property("CryptoCode")
+ .HasColumnType("TEXT");
+
+ b.Property("UnAssigned")
+ .HasColumnType("TEXT");
+
+ b.HasKey("InvoiceDataId", "Address");
+
+ b.ToTable("HistoricalAddressInvoices");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.InvoiceData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT");
+
+ b.Property("Archived")
+ .HasColumnType("INTEGER");
+
+ b.Property("Blob")
+ .HasColumnType("BLOB");
+
+ b.Property("Created")
+ .HasColumnType("TEXT");
+
+ b.Property("CurrentRefundId")
+ .HasColumnType("TEXT");
+
+ b.Property("CustomerEmail")
+ .HasColumnType("TEXT");
+
+ b.Property("ExceptionStatus")
+ .HasColumnType("TEXT");
+
+ b.Property("ItemCode")
+ .HasColumnType("TEXT");
+
+ b.Property("OrderId")
+ .HasColumnType("TEXT");
+
+ b.Property("Status")
+ .HasColumnType("TEXT");
+
+ b.Property("StoreDataId")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.HasIndex("OrderId");
+
+ b.HasIndex("StoreDataId");
+
+ b.HasIndex("Id", "CurrentRefundId");
+
+ b.ToTable("Invoices");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.InvoiceEventData", b =>
+ {
+ b.Property("InvoiceDataId")
+ .HasColumnType("TEXT");
+
+ b.Property("UniqueId")
+ .HasColumnType("TEXT");
+
+ b.Property("Message")
+ .HasColumnType("TEXT");
+
+ b.Property("Severity")
+ .HasColumnType("INTEGER");
+
+ b.Property("Timestamp")
+ .HasColumnType("TEXT");
+
+ b.HasKey("InvoiceDataId", "UniqueId");
+
+ b.ToTable("InvoiceEvents");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.InvoiceSearchData", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER")
+ .HasAnnotation("MySql:ValueGeneratedOnAdd", true)
+ .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn)
+ .HasAnnotation("Sqlite:Autoincrement", true);
+
+ b.Property("InvoiceDataId")
+ .HasColumnType("TEXT");
+
+ b.Property("Value")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.HasIndex("InvoiceDataId");
+
+ b.HasIndex("Value");
+
+ b.ToTable("InvoiceSearches");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.InvoiceWebhookDeliveryData", b =>
+ {
+ b.Property("InvoiceId")
+ .HasColumnType("TEXT");
+
+ b.Property("DeliveryId")
+ .HasColumnType("TEXT");
+
+ b.HasKey("InvoiceId", "DeliveryId");
+
+ b.HasIndex("DeliveryId")
+ .IsUnique();
+
+ b.HasIndex("InvoiceId")
+ .IsUnique();
+
+ b.ToTable("InvoiceWebhookDeliveries");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.NotificationData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT")
+ .HasMaxLength(36);
+
+ b.Property("ApplicationUserId")
+ .IsRequired()
+ .HasColumnType("TEXT")
+ .HasMaxLength(50);
+
+ b.Property("Blob")
+ .HasColumnType("BLOB");
+
+ b.Property("Created")
+ .HasColumnType("TEXT");
+
+ b.Property("NotificationType")
+ .IsRequired()
+ .HasColumnType("TEXT")
+ .HasMaxLength(100);
+
+ b.Property("Seen")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ApplicationUserId");
+
+ b.ToTable("Notifications");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.OffchainTransactionData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT")
+ .HasMaxLength(64);
+
+ b.Property("Blob")
+ .HasColumnType("BLOB");
+
+ b.HasKey("Id");
+
+ b.ToTable("OffchainTransactions");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.PairedSINData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT");
+
+ b.Property("Label")
+ .HasColumnType("TEXT");
+
+ b.Property("PairingTime")
+ .HasColumnType("TEXT");
+
+ b.Property("SIN")
+ .HasColumnType("TEXT");
+
+ b.Property("StoreDataId")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.HasIndex("SIN");
+
+ b.HasIndex("StoreDataId");
+
+ b.ToTable("PairedSINData");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.PairingCodeData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT");
+
+ b.Property("DateCreated")
+ .HasColumnType("TEXT");
+
+ b.Property("Expiration")
+ .HasColumnType("TEXT");
+
+ b.Property("Facade")
+ .HasColumnType("TEXT");
+
+ b.Property("Label")
+ .HasColumnType("TEXT");
+
+ b.Property("SIN")
+ .HasColumnType("TEXT");
+
+ b.Property("StoreDataId")
+ .HasColumnType("TEXT");
+
+ b.Property("TokenValue")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.ToTable("PairingCodes");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.PayjoinLock", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT")
+ .HasMaxLength(100);
+
+ b.HasKey("Id");
+
+ b.ToTable("PayjoinLocks");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.PaymentData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT");
+
+ b.Property("Accounted")
+ .HasColumnType("INTEGER");
+
+ b.Property("Blob")
+ .HasColumnType("BLOB");
+
+ b.Property("InvoiceDataId")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.HasIndex("InvoiceDataId");
+
+ b.ToTable("Payments");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.PaymentRequestData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT");
+
+ b.Property("Archived")
+ .HasColumnType("INTEGER");
+
+ b.Property("Blob")
+ .HasColumnType("BLOB");
+
+ b.Property("Created")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("TEXT")
+ .HasDefaultValue(new DateTimeOffset(new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
+
+ b.Property("Status")
+ .HasColumnType("INTEGER");
+
+ b.Property("StoreDataId")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Status");
+
+ b.HasIndex("StoreDataId");
+
+ b.ToTable("PaymentRequests");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.PayoutData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT")
+ .HasMaxLength(30);
+
+ b.Property("Blob")
+ .HasColumnType("BLOB");
+
+ b.Property("Date")
+ .HasColumnType("TEXT");
+
+ b.Property("Destination")
+ .HasColumnType("TEXT");
+
+ b.Property("PaymentMethodId")
+ .IsRequired()
+ .HasColumnType("TEXT")
+ .HasMaxLength(20);
+
+ b.Property("Proof")
+ .HasColumnType("BLOB");
+
+ b.Property("PullPaymentDataId")
+ .HasColumnType("TEXT");
+
+ b.Property("State")
+ .IsRequired()
+ .HasColumnType("TEXT")
+ .HasMaxLength(20);
+
+ b.HasKey("Id");
+
+ b.HasIndex("Destination")
+ .IsUnique();
+
+ b.HasIndex("PullPaymentDataId");
+
+ b.HasIndex("State");
+
+ b.ToTable("Payouts");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.PendingInvoiceData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.ToTable("PendingInvoices");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.PlannedTransaction", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT")
+ .HasMaxLength(100);
+
+ b.Property("Blob")
+ .HasColumnType("BLOB");
+
+ b.Property("BroadcastAt")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.ToTable("PlannedTransactions");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.PullPaymentData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT")
+ .HasMaxLength(30);
+
+ b.Property("Archived")
+ .HasColumnType("INTEGER");
+
+ b.Property("Blob")
+ .HasColumnType("BLOB");
+
+ b.Property("EndDate")
+ .HasColumnType("TEXT");
+
+ b.Property("Period")
+ .HasColumnType("INTEGER");
+
+ b.Property("StartDate")
+ .HasColumnType("TEXT");
+
+ b.Property("StoreId")
+ .HasColumnType("TEXT")
+ .HasMaxLength(50);
+
+ b.HasKey("Id");
+
+ b.HasIndex("StoreId");
+
+ b.ToTable("PullPayments");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.RefundData", b =>
+ {
+ b.Property("InvoiceDataId")
+ .HasColumnType("TEXT");
+
+ b.Property("PullPaymentDataId")
+ .HasColumnType("TEXT")
+ .HasMaxLength(30);
+
+ b.HasKey("InvoiceDataId", "PullPaymentDataId");
+
+ b.HasIndex("PullPaymentDataId");
+
+ b.ToTable("Refunds");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.SettingData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT");
+
+ b.Property("Value")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.ToTable("Settings");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.StoreData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT");
+
+ b.Property("DefaultCrypto")
+ .HasColumnType("TEXT");
+
+ b.Property("DerivationStrategies")
+ .HasColumnType("TEXT");
+
+ b.Property("DerivationStrategy")
+ .HasColumnType("TEXT");
+
+ b.Property("SpeedPolicy")
+ .HasColumnType("INTEGER");
+
+ b.Property("StoreBlob")
+ .HasColumnType("BLOB");
+
+ b.Property("StoreCertificate")
+ .HasColumnType("BLOB");
+
+ b.Property("StoreName")
+ .HasColumnType("TEXT");
+
+ b.Property("StoreWebsite")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.ToTable("Stores");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.StoreWebhookData", b =>
+ {
+ b.Property("StoreId")
+ .HasColumnType("TEXT");
+
+ b.Property("WebhookId")
+ .HasColumnType("TEXT");
+
+ b.HasKey("StoreId", "WebhookId");
+
+ b.HasIndex("StoreId")
+ .IsUnique();
+
+ b.HasIndex("WebhookId")
+ .IsUnique();
+
+ b.ToTable("StoreWebhooks");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.StoredFile", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("TEXT");
+
+ b.Property("ApplicationUserId")
+ .HasColumnType("TEXT");
+
+ b.Property("FileName")
+ .HasColumnType("TEXT");
+
+ b.Property("StorageFileName")
+ .HasColumnType("TEXT");
+
+ b.Property("Timestamp")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ApplicationUserId");
+
+ b.ToTable("Files");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.U2FDevice", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT");
+
+ b.Property("ApplicationUserId")
+ .HasColumnType("TEXT");
+
+ b.Property("AttestationCert")
+ .IsRequired()
+ .HasColumnType("BLOB");
+
+ b.Property("Counter")
+ .HasColumnType("INTEGER");
+
+ b.Property("KeyHandle")
+ .IsRequired()
+ .HasColumnType("BLOB");
+
+ b.Property("Name")
+ .HasColumnType("TEXT");
+
+ b.Property("PublicKey")
+ .IsRequired()
+ .HasColumnType("BLOB");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ApplicationUserId");
+
+ b.ToTable("U2FDevices");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.UserStore", b =>
+ {
+ b.Property("ApplicationUserId")
+ .HasColumnType("TEXT");
+
+ b.Property("StoreDataId")
+ .HasColumnType("TEXT");
+
+ b.Property("Role")
+ .HasColumnType("TEXT");
+
+ b.HasKey("ApplicationUserId", "StoreDataId");
+
+ b.HasIndex("StoreDataId");
+
+ b.ToTable("UserStore");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.WalletData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT");
+
+ b.Property("Blob")
+ .HasColumnType("BLOB");
+
+ b.HasKey("Id");
+
+ b.ToTable("Wallets");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.WalletTransactionData", b =>
+ {
+ b.Property("WalletDataId")
+ .HasColumnType("TEXT");
+
+ b.Property("TransactionId")
+ .HasColumnType("TEXT");
+
+ b.Property("Blob")
+ .HasColumnType("BLOB");
+
+ b.Property("Labels")
+ .HasColumnType("TEXT");
+
+ b.HasKey("WalletDataId", "TransactionId");
+
+ b.ToTable("WalletTransactions");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.WebhookData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT")
+ .HasMaxLength(25);
+
+ b.Property("Blob")
+ .IsRequired()
+ .HasColumnType("BLOB");
+
+ b.HasKey("Id");
+
+ b.ToTable("Webhooks");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.WebhookDeliveryData", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT")
+ .HasMaxLength(25);
+
+ b.Property("Blob")
+ .IsRequired()
+ .HasColumnType("BLOB");
+
+ b.Property("Timestamp")
+ .HasColumnType("TEXT");
+
+ b.Property("WebhookId")
+ .IsRequired()
+ .HasColumnType("TEXT")
+ .HasMaxLength(25);
+
+ b.HasKey("Id");
+
+ b.HasIndex("WebhookId");
+
+ b.ToTable("WebhookDeliveries");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("TEXT");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasColumnType("TEXT");
+
+ b.Property("Name")
+ .HasColumnType("TEXT")
+ .HasMaxLength(256);
+
+ b.Property("NormalizedName")
+ .HasColumnType("TEXT")
+ .HasMaxLength(256);
+
+ b.HasKey("Id");
+
+ b.HasIndex("NormalizedName")
+ .IsUnique()
+ .HasName("RoleNameIndex");
+
+ b.ToTable("AspNetRoles");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("ClaimType")
+ .HasColumnType("TEXT");
+
+ b.Property("ClaimValue")
+ .HasColumnType("TEXT");
+
+ b.Property("RoleId")
+ .IsRequired()
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.HasIndex("RoleId");
+
+ b.ToTable("AspNetRoleClaims");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("ClaimType")
+ .HasColumnType("TEXT");
+
+ b.Property("ClaimValue")
+ .HasColumnType("TEXT");
+
+ b.Property("UserId")
+ .IsRequired()
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("AspNetUserClaims");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b =>
+ {
+ b.Property("LoginProvider")
+ .HasColumnType("TEXT");
+
+ b.Property("ProviderKey")
+ .HasColumnType("TEXT");
+
+ b.Property("ProviderDisplayName")
+ .HasColumnType("TEXT");
+
+ b.Property("UserId")
+ .IsRequired()
+ .HasColumnType("TEXT");
+
+ b.HasKey("LoginProvider", "ProviderKey");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("AspNetUserLogins");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b =>
+ {
+ b.Property("UserId")
+ .HasColumnType("TEXT");
+
+ b.Property("RoleId")
+ .HasColumnType("TEXT");
+
+ b.HasKey("UserId", "RoleId");
+
+ b.HasIndex("RoleId");
+
+ b.ToTable("AspNetUserRoles");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b =>
+ {
+ b.Property("UserId")
+ .HasColumnType("TEXT");
+
+ b.Property("LoginProvider")
+ .HasColumnType("TEXT");
+
+ b.Property("Name")
+ .HasColumnType("TEXT");
+
+ b.Property("Value")
+ .HasColumnType("TEXT");
+
+ b.HasKey("UserId", "LoginProvider", "Name");
+
+ b.ToTable("AspNetUserTokens");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.APIKeyData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.StoreData", "StoreData")
+ .WithMany("APIKeys")
+ .HasForeignKey("StoreId")
+ .OnDelete(DeleteBehavior.Cascade);
+
+ b.HasOne("BTCPayServer.Data.ApplicationUser", "User")
+ .WithMany("APIKeys")
+ .HasForeignKey("UserId")
+ .OnDelete(DeleteBehavior.Cascade);
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.AddressInvoiceData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.InvoiceData", "InvoiceData")
+ .WithMany("AddressInvoices")
+ .HasForeignKey("InvoiceDataId")
+ .OnDelete(DeleteBehavior.Cascade);
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.AppData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.StoreData", "StoreData")
+ .WithMany("Apps")
+ .HasForeignKey("StoreDataId")
+ .OnDelete(DeleteBehavior.Cascade);
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.HistoricalAddressInvoiceData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.InvoiceData", "InvoiceData")
+ .WithMany("HistoricalAddressInvoices")
+ .HasForeignKey("InvoiceDataId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.InvoiceData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.StoreData", "StoreData")
+ .WithMany("Invoices")
+ .HasForeignKey("StoreDataId")
+ .OnDelete(DeleteBehavior.Cascade);
+
+ b.HasOne("BTCPayServer.Data.RefundData", "CurrentRefund")
+ .WithMany()
+ .HasForeignKey("Id", "CurrentRefundId");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.InvoiceEventData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.InvoiceData", "InvoiceData")
+ .WithMany("Events")
+ .HasForeignKey("InvoiceDataId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.InvoiceSearchData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.InvoiceData", "InvoiceData")
+ .WithMany("InvoiceSearchData")
+ .HasForeignKey("InvoiceDataId")
+ .OnDelete(DeleteBehavior.Cascade);
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.InvoiceWebhookDeliveryData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.WebhookDeliveryData", "Delivery")
+ .WithOne()
+ .HasForeignKey("BTCPayServer.Data.InvoiceWebhookDeliveryData", "DeliveryId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BTCPayServer.Data.InvoiceData", "Invoice")
+ .WithOne()
+ .HasForeignKey("BTCPayServer.Data.InvoiceWebhookDeliveryData", "InvoiceId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.NotificationData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.ApplicationUser", "ApplicationUser")
+ .WithMany("Notifications")
+ .HasForeignKey("ApplicationUserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.PairedSINData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.StoreData", "StoreData")
+ .WithMany("PairedSINs")
+ .HasForeignKey("StoreDataId")
+ .OnDelete(DeleteBehavior.Cascade);
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.PaymentData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.InvoiceData", "InvoiceData")
+ .WithMany("Payments")
+ .HasForeignKey("InvoiceDataId")
+ .OnDelete(DeleteBehavior.Cascade);
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.PaymentRequestData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.StoreData", "StoreData")
+ .WithMany("PaymentRequests")
+ .HasForeignKey("StoreDataId")
+ .OnDelete(DeleteBehavior.Cascade);
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.PayoutData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.PullPaymentData", "PullPaymentData")
+ .WithMany("Payouts")
+ .HasForeignKey("PullPaymentDataId")
+ .OnDelete(DeleteBehavior.Cascade);
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.PendingInvoiceData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.InvoiceData", "InvoiceData")
+ .WithMany("PendingInvoices")
+ .HasForeignKey("Id")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.PullPaymentData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.StoreData", "StoreData")
+ .WithMany("PullPayments")
+ .HasForeignKey("StoreId")
+ .OnDelete(DeleteBehavior.Cascade);
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.RefundData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.InvoiceData", "InvoiceData")
+ .WithMany("Refunds")
+ .HasForeignKey("InvoiceDataId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BTCPayServer.Data.PullPaymentData", "PullPaymentData")
+ .WithMany()
+ .HasForeignKey("PullPaymentDataId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.StoreWebhookData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.StoreData", "Store")
+ .WithOne()
+ .HasForeignKey("BTCPayServer.Data.StoreWebhookData", "StoreId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BTCPayServer.Data.WebhookData", "Webhook")
+ .WithOne()
+ .HasForeignKey("BTCPayServer.Data.StoreWebhookData", "WebhookId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.StoredFile", b =>
+ {
+ b.HasOne("BTCPayServer.Data.ApplicationUser", "ApplicationUser")
+ .WithMany("StoredFiles")
+ .HasForeignKey("ApplicationUserId");
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.U2FDevice", b =>
+ {
+ b.HasOne("BTCPayServer.Data.ApplicationUser", "ApplicationUser")
+ .WithMany("U2FDevices")
+ .HasForeignKey("ApplicationUserId")
+ .OnDelete(DeleteBehavior.Cascade);
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.UserStore", b =>
+ {
+ b.HasOne("BTCPayServer.Data.ApplicationUser", "ApplicationUser")
+ .WithMany("UserStores")
+ .HasForeignKey("ApplicationUserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BTCPayServer.Data.StoreData", "StoreData")
+ .WithMany("UserStores")
+ .HasForeignKey("StoreDataId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.WalletTransactionData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.WalletData", "WalletData")
+ .WithMany("WalletTransactions")
+ .HasForeignKey("WalletDataId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("BTCPayServer.Data.WebhookDeliveryData", b =>
+ {
+ b.HasOne("BTCPayServer.Data.WebhookData", "Webhook")
+ .WithMany("Deliveries")
+ .HasForeignKey("WebhookId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b =>
+ {
+ b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
+ .WithMany()
+ .HasForeignKey("RoleId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b =>
+ {
+ b.HasOne("BTCPayServer.Data.ApplicationUser", null)
+ .WithMany()
+ .HasForeignKey("UserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b =>
+ {
+ b.HasOne("BTCPayServer.Data.ApplicationUser", null)
+ .WithMany()
+ .HasForeignKey("UserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b =>
+ {
+ b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
+ .WithMany()
+ .HasForeignKey("RoleId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BTCPayServer.Data.ApplicationUser", null)
+ .WithMany()
+ .HasForeignKey("UserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b =>
+ {
+ b.HasOne("BTCPayServer.Data.ApplicationUser", null)
+ .WithMany()
+ .HasForeignKey("UserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/BTCPayServer.Data/Migrations/20201227165824_AdddingInvoiceSearchData.cs b/BTCPayServer.Data/Migrations/20201228225040_AddingInvoiceSearchesTable.cs
similarity index 68%
rename from BTCPayServer.Data/Migrations/20201227165824_AdddingInvoiceSearchData.cs
rename to BTCPayServer.Data/Migrations/20201228225040_AddingInvoiceSearchesTable.cs
index ea19861ca..e15421a06 100644
--- a/BTCPayServer.Data/Migrations/20201227165824_AdddingInvoiceSearchData.cs
+++ b/BTCPayServer.Data/Migrations/20201228225040_AddingInvoiceSearchesTable.cs
@@ -1,18 +1,14 @@
-using BTCPayServer.Data;
-using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
namespace BTCPayServer.Migrations
{
- [DbContext(typeof(ApplicationDbContext))]
- [Migration("20201227165824_AdddingInvoiceSearchData")]
- public partial class AdddingInvoiceSearchData : Migration
+ public partial class AddingInvoiceSearchesTable : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
- name: "InvoiceSearchDatas",
+ name: "InvoiceSearches",
columns: table => new
{
Id = table.Column(nullable: false)
@@ -26,9 +22,9 @@ namespace BTCPayServer.Migrations
},
constraints: table =>
{
- table.PrimaryKey("PK_InvoiceSearchDatas", x => x.Id);
+ table.PrimaryKey("PK_InvoiceSearches", x => x.Id);
table.ForeignKey(
- name: "FK_InvoiceSearchDatas_Invoices_InvoiceDataId",
+ name: "FK_InvoiceSearches_Invoices_InvoiceDataId",
column: x => x.InvoiceDataId,
principalTable: "Invoices",
principalColumn: "Id",
@@ -36,20 +32,20 @@ namespace BTCPayServer.Migrations
});
migrationBuilder.CreateIndex(
- name: "IX_InvoiceSearchDatas_InvoiceDataId",
- table: "InvoiceSearchDatas",
+ name: "IX_InvoiceSearches_InvoiceDataId",
+ table: "InvoiceSearches",
column: "InvoiceDataId");
migrationBuilder.CreateIndex(
- name: "IX_InvoiceSearchDatas_Value",
- table: "InvoiceSearchDatas",
+ name: "IX_InvoiceSearches_Value",
+ table: "InvoiceSearches",
column: "Value");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
- name: "InvoiceSearchDatas");
+ name: "InvoiceSearches");
}
}
}