From a23ad6b96be7bf60900bdb8908d02c0201b342b1 Mon Sep 17 00:00:00 2001 From: MysticBoy Date: Wed, 14 Sep 2022 20:27:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BA=86=20sqlite=E5=92=8Cpg?= =?UTF-8?q?sql=20=E5=85=B3=E4=BA=8E=E4=BA=A7=E5=93=81=20=E7=B4=A2=E5=BC=95?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....cs => 20220914112335_Produce.Designer.cs} | 11 +- ...8_Produce.cs => 20220914112335_Produce.cs} | 25 +- .../ApplicationDbContextModelSnapshot.cs | 9 +- .../20220913060334_Produce.Designer.cs | 2533 ----------------- .../Migrations/20220913060334_Produce.cs | 107 - .../ApplicationDbContextModelSnapshot.cs | 86 +- ....cs => 20220914122629_Produce.Designer.cs} | 11 +- ...5_Produce.cs => 20220914122629_Produce.cs} | 25 +- .../ApplicationDbContextModelSnapshot.cs | 9 +- IoTSharp.Data/ApplicationDbContext.cs | 3 +- 10 files changed, 58 insertions(+), 2761 deletions(-) rename IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/{20220913055638_Produce.Designer.cs => 20220914112335_Produce.Designer.cs} (99%) rename IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/{20220913055638_Produce.cs => 20220914112335_Produce.cs} (84%) delete mode 100644 IoTSharp.Data.Storage/IoTSharp.Data.SqlServer/Migrations/20220913060334_Produce.Designer.cs delete mode 100644 IoTSharp.Data.Storage/IoTSharp.Data.SqlServer/Migrations/20220913060334_Produce.cs rename IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/{20220913060035_Produce.Designer.cs => 20220914122629_Produce.Designer.cs} (99%) rename IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/{20220913060035_Produce.cs => 20220914122629_Produce.cs} (85%) diff --git a/IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/20220913055638_Produce.Designer.cs b/IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/20220914112335_Produce.Designer.cs similarity index 99% rename from IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/20220913055638_Produce.Designer.cs rename to IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/20220914112335_Produce.Designer.cs index eab7d624..15697843 100644 --- a/IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/20220913055638_Produce.Designer.cs +++ b/IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/20220914112335_Produce.Designer.cs @@ -12,7 +12,7 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace IoTSharp.Migrations { [DbContext(typeof(ApplicationDbContext))] - [Migration("20220913055638_Produce")] + [Migration("20220914112335_Produce")] partial class Produce { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -1990,7 +1990,10 @@ namespace IoTSharp.Migrations { b.HasBaseType("IoTSharp.Data.DataStorage"); - b.HasIndex("DeviceId"); + b.Property("OwnerId") + .HasColumnType("uuid"); + + b.HasIndex("OwnerId"); b.HasDiscriminator().HasValue(5); }); @@ -2475,9 +2478,7 @@ namespace IoTSharp.Migrations { b.HasOne("IoTSharp.Data.Produce", "Owner") .WithMany("DefaultAttributes") - .HasForeignKey("DeviceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + .HasForeignKey("OwnerId"); b.Navigation("Owner"); }); diff --git a/IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/20220913055638_Produce.cs b/IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/20220914112335_Produce.cs similarity index 84% rename from IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/20220913055638_Produce.cs rename to IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/20220914112335_Produce.cs index 25ccc499..00c59dd2 100644 --- a/IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/20220913055638_Produce.cs +++ b/IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/20220914112335_Produce.cs @@ -15,6 +15,12 @@ namespace IoTSharp.Migrations type: "uuid", nullable: true); + migrationBuilder.AddColumn( + name: "OwnerId", + table: "DataStorage", + type: "uuid", + nullable: true); + migrationBuilder.CreateTable( name: "Produce", columns: table => new @@ -48,9 +54,9 @@ namespace IoTSharp.Migrations column: "ProduceId"); migrationBuilder.CreateIndex( - name: "IX_DataStorage_DeviceId", + name: "IX_DataStorage_OwnerId", table: "DataStorage", - column: "DeviceId"); + column: "OwnerId"); migrationBuilder.CreateIndex( name: "IX_Produce_CustomerId", @@ -63,12 +69,11 @@ namespace IoTSharp.Migrations column: "TenantId"); migrationBuilder.AddForeignKey( - name: "FK_DataStorage_Produce_DeviceId", + name: "FK_DataStorage_Produce_OwnerId", table: "DataStorage", - column: "DeviceId", + column: "OwnerId", principalTable: "Produce", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); + principalColumn: "Id"); migrationBuilder.AddForeignKey( name: "FK_Device_Produce_ProduceId", @@ -81,7 +86,7 @@ namespace IoTSharp.Migrations protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropForeignKey( - name: "FK_DataStorage_Produce_DeviceId", + name: "FK_DataStorage_Produce_OwnerId", table: "DataStorage"); migrationBuilder.DropForeignKey( @@ -96,12 +101,16 @@ namespace IoTSharp.Migrations table: "Device"); migrationBuilder.DropIndex( - name: "IX_DataStorage_DeviceId", + name: "IX_DataStorage_OwnerId", table: "DataStorage"); migrationBuilder.DropColumn( name: "ProduceId", table: "Device"); + + migrationBuilder.DropColumn( + name: "OwnerId", + table: "DataStorage"); } } } diff --git a/IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/ApplicationDbContextModelSnapshot.cs b/IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/ApplicationDbContextModelSnapshot.cs index 0de4338d..ef38bf85 100644 --- a/IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/ApplicationDbContextModelSnapshot.cs +++ b/IoTSharp.Data.Storage/IoTSharp.Data.PostgreSQL/Migrations/ApplicationDbContextModelSnapshot.cs @@ -1988,7 +1988,10 @@ namespace IoTSharp.Migrations { b.HasBaseType("IoTSharp.Data.DataStorage"); - b.HasIndex("DeviceId"); + b.Property("OwnerId") + .HasColumnType("uuid"); + + b.HasIndex("OwnerId"); b.HasDiscriminator().HasValue(5); }); @@ -2473,9 +2476,7 @@ namespace IoTSharp.Migrations { b.HasOne("IoTSharp.Data.Produce", "Owner") .WithMany("DefaultAttributes") - .HasForeignKey("DeviceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + .HasForeignKey("OwnerId"); b.Navigation("Owner"); }); diff --git a/IoTSharp.Data.Storage/IoTSharp.Data.SqlServer/Migrations/20220913060334_Produce.Designer.cs b/IoTSharp.Data.Storage/IoTSharp.Data.SqlServer/Migrations/20220913060334_Produce.Designer.cs deleted file mode 100644 index ed978bd9..00000000 --- a/IoTSharp.Data.Storage/IoTSharp.Data.SqlServer/Migrations/20220913060334_Produce.Designer.cs +++ /dev/null @@ -1,2533 +0,0 @@ -// -using System; -using IoTSharp.Data; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -#nullable disable - -namespace IoTSharp.Data.SqlServer.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20220913060334_Produce")] - partial class Produce - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "6.0.8") - .HasAnnotation("Relational:MaxIdentifierLength", 128); - - SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); - - modelBuilder.Entity("IoTSharp.Data.Alarm", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AckDateTime") - .HasColumnType("datetime2"); - - b.Property("AlarmDetail") - .HasColumnType("nvarchar(max)"); - - b.Property("AlarmStatus") - .HasColumnType("int"); - - b.Property("AlarmType") - .HasColumnType("nvarchar(max)"); - - b.Property("ClearDateTime") - .HasColumnType("datetime2"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("EndDateTime") - .HasColumnType("datetime2"); - - b.Property("OriginatorId") - .HasColumnType("uniqueidentifier"); - - b.Property("OriginatorType") - .HasColumnType("int"); - - b.Property("Propagate") - .HasColumnType("bit"); - - b.Property("Serverity") - .HasColumnType("int"); - - b.Property("StartDateTime") - .HasColumnType("datetime2"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("CustomerId"); - - b.HasIndex("TenantId"); - - b.ToTable("Alarms"); - }); - - modelBuilder.Entity("IoTSharp.Data.Asset", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssetType") - .HasColumnType("nvarchar(max)"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("Name") - .HasColumnType("nvarchar(max)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("CustomerId"); - - b.HasIndex("TenantId"); - - b.ToTable("Assets"); - }); - - modelBuilder.Entity("IoTSharp.Data.AssetRelation", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssetId") - .HasColumnType("uniqueidentifier"); - - b.Property("DataCatalog") - .HasColumnType("int"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("DeviceId") - .HasColumnType("uniqueidentifier"); - - b.Property("KeyName") - .HasColumnType("nvarchar(max)"); - - b.Property("Name") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.HasIndex("AssetId"); - - b.ToTable("AssetRelations"); - }); - - modelBuilder.Entity("IoTSharp.Data.AuditLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ActionData") - .HasColumnType("nvarchar(max)"); - - b.Property("ActionName") - .HasColumnType("nvarchar(max)"); - - b.Property("ActionResult") - .HasColumnType("nvarchar(max)"); - - b.Property("ActiveDateTime") - .HasColumnType("datetime2"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("ObjectID") - .HasColumnType("uniqueidentifier"); - - b.Property("ObjectName") - .HasColumnType("nvarchar(max)"); - - b.Property("ObjectType") - .HasColumnType("int"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserId") - .HasColumnType("nvarchar(max)"); - - b.Property("UserName") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.HasIndex("CustomerId"); - - b.HasIndex("TenantId"); - - b.ToTable("AuditLog"); - }); - - modelBuilder.Entity("IoTSharp.Data.AuthorizedKey", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuthToken") - .HasColumnType("nvarchar(max)"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .HasColumnType("nvarchar(max)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("CustomerId"); - - b.HasIndex("TenantId"); - - b.ToTable("AuthorizedKeys"); - }); - - modelBuilder.Entity("IoTSharp.Data.BaseDictionary", b => - { - b.Property("DictionaryId") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("DictionaryId"), 1L, 1); - - b.Property("Dictionary18NKeyName") - .HasColumnType("nvarchar(max)"); - - b.Property("DictionaryColor") - .HasColumnType("nvarchar(max)"); - - b.Property("DictionaryDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("DictionaryGroupId") - .HasColumnType("bigint"); - - b.Property("DictionaryIcon") - .HasColumnType("nvarchar(max)"); - - b.Property("DictionaryName") - .HasColumnType("nvarchar(max)"); - - b.Property("DictionaryPattern") - .HasColumnType("nvarchar(max)"); - - b.Property("DictionaryStatus") - .HasColumnType("int"); - - b.Property("DictionaryTag") - .HasColumnType("nvarchar(max)"); - - b.Property("DictionaryValue") - .HasColumnType("nvarchar(max)"); - - b.Property("DictionaryValueType") - .HasColumnType("int"); - - b.Property("DictionaryValueTypeName") - .HasColumnType("nvarchar(max)"); - - b.HasKey("DictionaryId"); - - b.ToTable("BaseDictionaries"); - }); - - modelBuilder.Entity("IoTSharp.Data.BaseDictionaryGroup", b => - { - b.Property("DictionaryGroupId") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("DictionaryGroupId"), 1L, 1); - - b.Property("DictionaryGroup18NKeyName") - .HasColumnType("nvarchar(max)"); - - b.Property("DictionaryGroupDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("DictionaryGroupKey") - .HasColumnType("nvarchar(max)"); - - b.Property("DictionaryGroupName") - .HasColumnType("nvarchar(max)"); - - b.Property("DictionaryGroupStatus") - .HasColumnType("int"); - - b.Property("DictionaryGroupValueType") - .HasColumnType("int"); - - b.Property("DictionaryGroupValueTypeName") - .HasColumnType("nvarchar(max)"); - - b.HasKey("DictionaryGroupId"); - - b.ToTable("BaseDictionaryGroups"); - }); - - modelBuilder.Entity("IoTSharp.Data.BaseEvent", b => - { - b.Property("EventId") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BizData") - .HasColumnType("nvarchar(max)"); - - b.Property("Bizid") - .HasColumnType("nvarchar(max)"); - - b.Property("CreaterDateTime") - .HasColumnType("datetime2"); - - b.Property("Creator") - .HasColumnType("uniqueidentifier"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("EventDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("EventName") - .HasColumnType("nvarchar(max)"); - - b.Property("EventStaus") - .HasColumnType("int"); - - b.Property("FlowRuleRuleId") - .HasColumnType("uniqueidentifier"); - - b.Property("MataData") - .HasColumnType("nvarchar(max)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasColumnType("int"); - - b.HasKey("EventId"); - - b.HasIndex("CustomerId"); - - b.HasIndex("FlowRuleRuleId"); - - b.HasIndex("TenantId"); - - b.ToTable("BaseEvents"); - }); - - modelBuilder.Entity("IoTSharp.Data.BaseI18N", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); - - b.Property("AddDate") - .HasColumnType("datetime2"); - - b.Property("KeyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ResouceDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("ResouceGroupId") - .HasColumnType("int"); - - b.Property("ResourceId") - .HasColumnType("bigint"); - - b.Property("ResourceKey") - .HasColumnType("nvarchar(max)"); - - b.Property("ResourceTag") - .HasColumnType("nvarchar(max)"); - - b.Property("ResourceType") - .HasColumnType("int"); - - b.Property("Status") - .HasColumnType("int"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("ValueBG") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueCS") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueDA") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueDEDE") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueELGR") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueENGR") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueENUS") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueESES") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueFI") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueFRFR") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueHE") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueHRHR") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueHU") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueITIT") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueJAJP") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueKOKR") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueNL") - .HasColumnType("nvarchar(max)"); - - b.Property("ValuePLPL") - .HasColumnType("nvarchar(max)"); - - b.Property("ValuePT") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueSLSL") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueSR") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueSV") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueTRTR") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueUK") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueVI") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueZHCN") - .HasColumnType("nvarchar(max)"); - - b.Property("ValueZHTW") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("BaseI18Ns"); - }); - - modelBuilder.Entity("IoTSharp.Data.Customer", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Address") - .HasColumnType("nvarchar(max)"); - - b.Property("City") - .HasColumnType("nvarchar(max)"); - - b.Property("Country") - .HasColumnType("nvarchar(max)"); - - b.Property("Email") - .HasColumnType("nvarchar(max)"); - - b.Property("Name") - .HasColumnType("nvarchar(max)"); - - b.Property("Phone") - .HasColumnType("nvarchar(max)"); - - b.Property("Province") - .HasColumnType("nvarchar(max)"); - - b.Property("Street") - .HasColumnType("nvarchar(max)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("ZipCode") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("TenantId"); - - b.ToTable("Customer"); - }); - - modelBuilder.Entity("IoTSharp.Data.DataStorage", b => - { - b.Property("Catalog") - .HasColumnType("int") - .HasColumnOrder(0); - - b.Property("DeviceId") - .HasColumnType("uniqueidentifier") - .HasColumnOrder(1); - - b.Property("KeyName") - .HasColumnType("nvarchar(450)") - .HasColumnOrder(2); - - b.Property("DataSide") - .HasColumnType("int") - .HasColumnOrder(4); - - b.Property("DateTime") - .HasColumnType("datetime2") - .HasColumnOrder(3); - - b.Property("Type") - .HasColumnType("int") - .HasColumnOrder(5); - - b.Property("Value_Binary") - .HasColumnType("varbinary(max)"); - - b.Property("Value_Boolean") - .HasColumnType("bit"); - - b.Property("Value_DateTime") - .HasColumnType("datetime2"); - - b.Property("Value_Double") - .HasColumnType("float"); - - b.Property("Value_Json") - .HasColumnType("nvarchar(max)"); - - b.Property("Value_Long") - .HasColumnType("bigint"); - - b.Property("Value_String") - .HasColumnType("nvarchar(max)"); - - b.Property("Value_XML") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Catalog", "DeviceId", "KeyName"); - - b.HasIndex("Catalog"); - - b.HasIndex("Catalog", "DeviceId"); - - b.ToTable("DataStorage"); - - b.HasDiscriminator("Catalog").HasValue(0); - }); - - modelBuilder.Entity("IoTSharp.Data.Device", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuthorizedKeyId") - .HasColumnType("uniqueidentifier"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("DeviceModelId") - .HasColumnType("uniqueidentifier"); - - b.Property("DeviceType") - .HasColumnType("int"); - - b.Property("LastActive") - .HasColumnType("datetime2"); - - b.Property("Name") - .HasColumnType("nvarchar(max)"); - - b.Property("Online") - .HasColumnType("bit"); - - b.Property("OwnerId") - .HasColumnType("uniqueidentifier"); - - b.Property("ProduceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Status") - .HasColumnType("int"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Timeout") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("AuthorizedKeyId"); - - b.HasIndex("CustomerId"); - - b.HasIndex("DeviceModelId"); - - b.HasIndex("OwnerId"); - - b.HasIndex("ProduceId"); - - b.HasIndex("TenantId"); - - b.ToTable("Device"); - - b.HasDiscriminator("DeviceType").HasValue(0); - }); - - modelBuilder.Entity("IoTSharp.Data.DeviceDiagram", b => - { - b.Property("DiagramId") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreateDate") - .HasColumnType("datetimeoffset"); - - b.Property("Creator") - .HasColumnType("uniqueidentifier"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("DiagramDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("DiagramImage") - .HasColumnType("nvarchar(max)"); - - b.Property("DiagramName") - .HasColumnType("nvarchar(max)"); - - b.Property("DiagramStatus") - .HasColumnType("int"); - - b.Property("IsDefault") - .HasColumnType("bit"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("DiagramId"); - - b.HasIndex("CustomerId"); - - b.HasIndex("TenantId"); - - b.ToTable("DeviceDiagrams"); - }); - - modelBuilder.Entity("IoTSharp.Data.DeviceGraph", b => - { - b.Property("GraphId") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreateDate") - .HasColumnType("datetime2"); - - b.Property("Creator") - .HasColumnType("uniqueidentifier"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("DeviceDiagramDiagramId") - .HasColumnType("uniqueidentifier"); - - b.Property("DeviceId") - .HasColumnType("uniqueidentifier"); - - b.Property("GraphElementId") - .HasColumnType("nvarchar(max)"); - - b.Property("GraphFill") - .HasColumnType("nvarchar(max)"); - - b.Property("GraphHeight") - .HasColumnType("int"); - - b.Property("GraphPostionX") - .HasColumnType("int"); - - b.Property("GraphPostionY") - .HasColumnType("int"); - - b.Property("GraphShape") - .HasColumnType("nvarchar(max)"); - - b.Property("GraphStroke") - .HasColumnType("nvarchar(max)"); - - b.Property("GraphStrokeWidth") - .HasColumnType("int"); - - b.Property("GraphTextAnchor") - .HasColumnType("nvarchar(max)"); - - b.Property("GraphTextFill") - .HasColumnType("nvarchar(max)"); - - b.Property("GraphTextFontFamily") - .HasColumnType("nvarchar(max)"); - - b.Property("GraphTextFontSize") - .HasColumnType("int"); - - b.Property("GraphTextRefX") - .HasColumnType("int"); - - b.Property("GraphTextRefY") - .HasColumnType("int"); - - b.Property("GraphTextVerticalAnchor") - .HasColumnType("nvarchar(max)"); - - b.Property("GraphWidth") - .HasColumnType("int"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("GraphId"); - - b.HasIndex("CustomerId"); - - b.HasIndex("DeviceDiagramDiagramId"); - - b.HasIndex("TenantId"); - - b.ToTable("DeviceGraphs"); - }); - - modelBuilder.Entity("IoTSharp.Data.DeviceGraphToolBox", b => - { - b.Property("ToolBoxId") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CommondParam") - .HasColumnType("nvarchar(max)"); - - b.Property("CommondType") - .HasColumnType("nvarchar(max)"); - - b.Property("CreateDate") - .HasColumnType("datetime2"); - - b.Property("Creator") - .HasColumnType("uniqueidentifier"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("DeviceId") - .HasColumnType("bigint"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("ToolBoxIcon") - .HasColumnType("nvarchar(max)"); - - b.Property("ToolBoxName") - .HasColumnType("nvarchar(max)"); - - b.Property("ToolBoxOffsetLeftPer") - .HasColumnType("int"); - - b.Property("ToolBoxOffsetTopPer") - .HasColumnType("int"); - - b.Property("ToolBoxOffsetX") - .HasColumnType("int"); - - b.Property("ToolBoxOffsetY") - .HasColumnType("int"); - - b.Property("ToolBoxRequestUri") - .HasColumnType("nvarchar(max)"); - - b.Property("ToolBoxStatus") - .HasColumnType("int"); - - b.Property("ToolBoxType") - .HasColumnType("nvarchar(max)"); - - b.HasKey("ToolBoxId"); - - b.HasIndex("CustomerId"); - - b.HasIndex("TenantId"); - - b.ToTable("DeviceGraphToolBoxes"); - }); - - modelBuilder.Entity("IoTSharp.Data.DeviceIdentity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("DeviceId") - .HasColumnType("uniqueidentifier"); - - b.Property("IdentityId") - .IsRequired() - .HasColumnType("nvarchar(max)"); - - b.Property("IdentityType") - .HasColumnType("int"); - - b.Property("IdentityValue") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.HasIndex("DeviceId") - .IsUnique(); - - b.ToTable("DeviceIdentities"); - }); - - modelBuilder.Entity("IoTSharp.Data.DeviceModel", b => - { - b.Property("DeviceModelId") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreateDateTime") - .HasColumnType("datetime2"); - - b.Property("Creator") - .HasColumnType("uniqueidentifier"); - - b.Property("ModelDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("ModelName") - .HasColumnType("nvarchar(max)"); - - b.Property("ModelStatus") - .HasColumnType("int"); - - b.HasKey("DeviceModelId"); - - b.ToTable("DeviceModels"); - }); - - modelBuilder.Entity("IoTSharp.Data.DeviceModelCommand", b => - { - b.Property("CommandId") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CommandI18N") - .HasColumnType("nvarchar(max)"); - - b.Property("CommandName") - .HasColumnType("nvarchar(max)"); - - b.Property("CommandParams") - .HasColumnType("nvarchar(max)"); - - b.Property("CommandStatus") - .HasColumnType("int"); - - b.Property("CommandTemplate") - .HasColumnType("nvarchar(max)"); - - b.Property("CommandTitle") - .HasColumnType("nvarchar(max)"); - - b.Property("CommandType") - .HasColumnType("int"); - - b.Property("CreateDateTime") - .HasColumnType("datetime2"); - - b.Property("Creator") - .HasColumnType("uniqueidentifier"); - - b.Property("DeviceModelId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("CommandId"); - - b.HasIndex("DeviceModelId"); - - b.ToTable("DeviceModelCommands"); - }); - - modelBuilder.Entity("IoTSharp.Data.DevicePort", b => - { - b.Property("PortId") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreateDate") - .HasColumnType("datetime2"); - - b.Property("Creator") - .HasColumnType("bigint"); - - b.Property("DeviceId") - .HasColumnType("uniqueidentifier"); - - b.Property("PortDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("PortElementId") - .HasColumnType("nvarchar(max)"); - - b.Property("PortName") - .HasColumnType("nvarchar(max)"); - - b.Property("PortPhyType") - .HasColumnType("int"); - - b.Property("PortPic") - .HasColumnType("nvarchar(max)"); - - b.Property("PortStatus") - .HasColumnType("int"); - - b.Property("PortType") - .HasColumnType("int"); - - b.HasKey("PortId"); - - b.ToTable("DevicePorts"); - }); - - modelBuilder.Entity("IoTSharp.Data.DevicePortMapping", b => - { - b.Property("MappingId") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreateDate") - .HasColumnType("datetime2"); - - b.Property("Creator") - .HasColumnType("uniqueidentifier"); - - b.Property("MappingIndex") - .HasColumnType("int"); - - b.Property("MappingStatus") - .HasColumnType("int"); - - b.Property("SourceDeviceId") - .HasColumnType("uniqueidentifier"); - - b.Property("SourceElementId") - .HasColumnType("nvarchar(max)"); - - b.Property("SourceId") - .HasColumnType("nvarchar(max)"); - - b.Property("TargeId") - .HasColumnType("nvarchar(max)"); - - b.Property("TargetDeviceId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetElementId") - .HasColumnType("nvarchar(max)"); - - b.HasKey("MappingId"); - - b.ToTable("DevicePortMappings"); - }); - - modelBuilder.Entity("IoTSharp.Data.DeviceRule", b => - { - b.Property("DeviceRuleId") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConfigDateTime") - .HasColumnType("datetime2"); - - b.Property("ConfigUser") - .HasColumnType("uniqueidentifier"); - - b.Property("DeviceId") - .HasColumnType("uniqueidentifier"); - - b.Property("EnableTrace") - .HasColumnType("int"); - - b.Property("FlowRuleRuleId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("DeviceRuleId"); - - b.HasIndex("DeviceId"); - - b.HasIndex("FlowRuleRuleId"); - - b.ToTable("DeviceRules"); - }); - - modelBuilder.Entity("IoTSharp.Data.DynamicFormFieldInfo", b => - { - b.Property("FieldId") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("FieldId"), 1L, 1); - - b.Property("Creator") - .HasColumnType("uniqueidentifier"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("FieldCode") - .HasColumnType("nvarchar(max)"); - - b.Property("FieldCreateDate") - .HasColumnType("datetime2"); - - b.Property("FieldEditDate") - .HasColumnType("datetime2"); - - b.Property("FieldI18nKey") - .HasColumnType("nvarchar(max)"); - - b.Property("FieldMaxLength") - .HasColumnType("int"); - - b.Property("FieldName") - .HasColumnType("nvarchar(max)"); - - b.Property("FieldPattern") - .HasColumnType("nvarchar(max)"); - - b.Property("FieldPocoTypeName") - .HasColumnType("nvarchar(max)"); - - b.Property("FieldStatus") - .HasColumnType("int"); - - b.Property("FieldUIElement") - .HasColumnType("bigint"); - - b.Property("FieldUIElementSchema") - .HasColumnType("nvarchar(max)"); - - b.Property("FieldUnit") - .HasColumnType("nvarchar(max)"); - - b.Property("FieldValue") - .HasColumnType("nvarchar(max)"); - - b.Property("FieldValueDataSource") - .HasColumnType("nvarchar(max)"); - - b.Property("FieldValueLocalDataSource") - .HasColumnType("nvarchar(max)"); - - b.Property("FieldValueType") - .HasColumnType("int"); - - b.Property("FieldValueTypeName") - .HasColumnType("nvarchar(max)"); - - b.Property("FormId") - .HasColumnType("bigint"); - - b.Property("IsEnabled") - .HasColumnType("bit"); - - b.Property("IsRequired") - .HasColumnType("bit"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("FieldId"); - - b.HasIndex("CustomerId"); - - b.HasIndex("TenantId"); - - b.ToTable("DynamicFormFieldInfos"); - }); - - modelBuilder.Entity("IoTSharp.Data.DynamicFormFieldValueInfo", b => - { - b.Property("FieldValueId") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("FieldValueId"), 1L, 1); - - b.Property("BizId") - .HasColumnType("bigint"); - - b.Property("Creator") - .HasColumnType("uniqueidentifier"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("FieldCode") - .HasColumnType("nvarchar(max)"); - - b.Property("FieldCreateDate") - .HasColumnType("datetime2"); - - b.Property("FieldId") - .HasColumnType("bigint"); - - b.Property("FieldName") - .HasColumnType("nvarchar(max)"); - - b.Property("FieldUnit") - .HasColumnType("nvarchar(max)"); - - b.Property("FieldValue") - .HasColumnType("nvarchar(max)"); - - b.Property("FieldValueType") - .HasColumnType("bigint"); - - b.Property("FromId") - .HasColumnType("bigint"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("FieldValueId"); - - b.HasIndex("CustomerId"); - - b.HasIndex("TenantId"); - - b.ToTable("DynamicFormFieldValueInfos"); - }); - - modelBuilder.Entity("IoTSharp.Data.DynamicFormInfo", b => - { - b.Property("FormId") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("FormId"), 1L, 1); - - b.Property("BizId") - .HasColumnType("bigint"); - - b.Property("Creator") - .HasColumnType("uniqueidentifier"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("FormCreator") - .HasColumnType("bigint"); - - b.Property("FormDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("FormLayout") - .HasColumnType("nvarchar(max)"); - - b.Property("FormName") - .HasColumnType("nvarchar(max)"); - - b.Property("FormSchame") - .HasColumnType("nvarchar(max)"); - - b.Property("FormStatus") - .HasColumnType("int"); - - b.Property("FromCreateDate") - .HasColumnType("datetime2"); - - b.Property("IsCompact") - .HasColumnType("bit"); - - b.Property("ModelClass") - .HasColumnType("nvarchar(max)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Url") - .HasColumnType("nvarchar(max)"); - - b.HasKey("FormId"); - - b.HasIndex("CustomerId"); - - b.HasIndex("TenantId"); - - b.ToTable("DynamicFormInfos"); - }); - - modelBuilder.Entity("IoTSharp.Data.Flow", b => - { - b.Property("FlowId") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Conditionexpression") - .HasColumnType("nvarchar(max)"); - - b.Property("CreateDate") - .HasColumnType("datetime2"); - - b.Property("CreateId") - .HasColumnType("uniqueidentifier"); - - b.Property("Createor") - .HasColumnType("uniqueidentifier"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("ExecutorId") - .HasColumnType("uniqueidentifier"); - - b.Property("FlowRuleRuleId") - .HasColumnType("uniqueidentifier"); - - b.Property("FlowStatus") - .HasColumnType("int"); - - b.Property("FlowType") - .HasColumnType("nvarchar(max)"); - - b.Property("Flowdesc") - .HasColumnType("nvarchar(max)"); - - b.Property("Flowname") - .HasColumnType("nvarchar(max)"); - - b.Property("Incoming") - .HasColumnType("nvarchar(max)"); - - b.Property("NodeProcessClass") - .HasColumnType("nvarchar(max)"); - - b.Property("NodeProcessMethod") - .HasColumnType("nvarchar(max)"); - - b.Property("NodeProcessParams") - .HasColumnType("nvarchar(max)"); - - b.Property("NodeProcessScript") - .HasColumnType("nvarchar(max)"); - - b.Property("NodeProcessScriptType") - .HasColumnType("nvarchar(max)"); - - b.Property("NodeProcessType") - .HasColumnType("nvarchar(max)"); - - b.Property("ObjectId") - .HasColumnType("nvarchar(max)"); - - b.Property("Outgoing") - .HasColumnType("nvarchar(max)"); - - b.Property("SourceId") - .HasColumnType("nvarchar(max)"); - - b.Property("TargetId") - .HasColumnType("nvarchar(max)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("TestStatus") - .HasColumnType("int"); - - b.Property("Tester") - .HasColumnType("uniqueidentifier"); - - b.Property("TesterDateTime") - .HasColumnType("datetime2"); - - b.Property("bpmnid") - .HasColumnType("nvarchar(max)"); - - b.HasKey("FlowId"); - - b.HasIndex("CustomerId"); - - b.HasIndex("ExecutorId"); - - b.HasIndex("FlowRuleRuleId"); - - b.HasIndex("TenantId"); - - b.ToTable("Flows"); - }); - - modelBuilder.Entity("IoTSharp.Data.FlowOperation", b => - { - b.Property("OperationId") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AddDate") - .HasColumnType("datetime2"); - - b.Property("BaseEventEventId") - .HasColumnType("uniqueidentifier"); - - b.Property("BizId") - .HasColumnType("nvarchar(max)"); - - b.Property("Data") - .HasColumnType("nvarchar(max)"); - - b.Property("FlowId") - .HasColumnType("uniqueidentifier"); - - b.Property("FlowRuleRuleId") - .HasColumnType("uniqueidentifier"); - - b.Property("NodeStatus") - .HasColumnType("int"); - - b.Property("OperationDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("Step") - .HasColumnType("int"); - - b.Property("Tag") - .HasColumnType("nvarchar(max)"); - - b.Property("bpmnid") - .HasColumnType("nvarchar(max)"); - - b.HasKey("OperationId"); - - b.HasIndex("BaseEventEventId"); - - b.HasIndex("FlowId"); - - b.HasIndex("FlowRuleRuleId"); - - b.ToTable("FlowOperations"); - }); - - modelBuilder.Entity("IoTSharp.Data.FlowRule", b => - { - b.Property("RuleId") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreatTime") - .HasColumnType("datetime2"); - - b.Property("CreateId") - .HasColumnType("uniqueidentifier"); - - b.Property("Creator") - .HasColumnType("nvarchar(max)"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("DefinitionsXml") - .HasColumnType("nvarchar(max)"); - - b.Property("Describes") - .HasColumnType("nvarchar(max)"); - - b.Property("ExecutableCode") - .HasColumnType("nvarchar(max)"); - - b.Property("MountType") - .HasColumnType("int"); - - b.Property("Name") - .IsRequired() - .HasColumnType("nvarchar(max)"); - - b.Property("ParentRuleId") - .HasColumnType("uniqueidentifier"); - - b.Property("RuleDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("RuleStatus") - .HasColumnType("int"); - - b.Property("RuleType") - .HasColumnType("int"); - - b.Property("Runner") - .HasColumnType("nvarchar(max)"); - - b.Property("SubVersion") - .HasColumnType("float"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Version") - .HasColumnType("float"); - - b.HasKey("RuleId"); - - b.HasIndex("CustomerId"); - - b.HasIndex("TenantId"); - - b.ToTable("FlowRules"); - }); - - modelBuilder.Entity("IoTSharp.Data.Produce", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("DefaultIdentityType") - .HasColumnType("int"); - - b.Property("DefaultTimeout") - .HasColumnType("int"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("Name") - .HasColumnType("nvarchar(max)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("CustomerId"); - - b.HasIndex("TenantId"); - - b.ToTable("Produce"); - }); - - modelBuilder.Entity("IoTSharp.Data.RefreshToken", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AddedDate") - .HasColumnType("datetime2"); - - b.Property("ExpiryDate") - .HasColumnType("datetime2"); - - b.Property("IsRevorked") - .HasColumnType("bit"); - - b.Property("IsUsed") - .HasColumnType("bit"); - - b.Property("JwtId") - .HasColumnType("nvarchar(max)"); - - b.Property("Token") - .HasColumnType("nvarchar(max)"); - - b.Property("UserId") - .HasColumnType("nvarchar(450)"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("RefreshTokens"); - }); - - modelBuilder.Entity("IoTSharp.Data.Relationship", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("IdentityUserId") - .HasColumnType("nvarchar(450)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("CustomerId"); - - b.HasIndex("IdentityUserId"); - - b.HasIndex("TenantId"); - - b.ToTable("Relationship"); - }); - - modelBuilder.Entity("IoTSharp.Data.RuleTaskExecutor", b => - { - b.Property("ExecutorId") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AddDateTime") - .HasColumnType("datetime2"); - - b.Property("Creator") - .HasColumnType("uniqueidentifier"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("DefaultConfig") - .HasColumnType("nvarchar(max)"); - - b.Property("ExecutorDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("ExecutorName") - .HasColumnType("nvarchar(max)"); - - b.Property("ExecutorStatus") - .HasColumnType("int"); - - b.Property("MataData") - .HasColumnType("nvarchar(max)"); - - b.Property("Path") - .HasColumnType("nvarchar(max)"); - - b.Property("Tag") - .HasColumnType("nvarchar(max)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("TestStatus") - .HasColumnType("int"); - - b.Property("Tester") - .HasColumnType("uniqueidentifier"); - - b.Property("TesterDateTime") - .HasColumnType("datetime2"); - - b.Property("TypeName") - .HasColumnType("nvarchar(max)"); - - b.HasKey("ExecutorId"); - - b.HasIndex("CustomerId"); - - b.HasIndex("TenantId"); - - b.ToTable("RuleTaskExecutors"); - }); - - modelBuilder.Entity("IoTSharp.Data.SubscriptionEvent", b => - { - b.Property("EventId") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreateDateTime") - .HasColumnType("datetime2"); - - b.Property("Creator") - .HasColumnType("uniqueidentifier"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("EventDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("EventName") - .HasColumnType("nvarchar(max)"); - - b.Property("EventNameSpace") - .HasColumnType("nvarchar(max)"); - - b.Property("EventParam") - .HasColumnType("nvarchar(max)"); - - b.Property("EventStatus") - .HasColumnType("int"); - - b.Property("EventTag") - .HasColumnType("nvarchar(max)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasColumnType("int"); - - b.HasKey("EventId"); - - b.HasIndex("CustomerId"); - - b.HasIndex("TenantId"); - - b.ToTable("SubscriptionEvents"); - }); - - modelBuilder.Entity("IoTSharp.Data.SubscriptionTask", b => - { - b.Property("BindId") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("EventId") - .HasColumnType("uniqueidentifier"); - - b.Property("RuleTaskExecutorExecutorId") - .HasColumnType("uniqueidentifier"); - - b.Property("Status") - .HasColumnType("int"); - - b.Property("SubscriptionEventId") - .HasColumnType("uniqueidentifier"); - - b.Property("TaskConfig") - .HasColumnType("nvarchar(max)"); - - b.HasKey("BindId"); - - b.HasIndex("RuleTaskExecutorExecutorId"); - - b.HasIndex("SubscriptionEventId"); - - b.ToTable("SubscriptionTasks"); - }); - - modelBuilder.Entity("IoTSharp.Data.TelemetryData", b => - { - b.Property("DeviceId") - .HasColumnType("uniqueidentifier") - .HasColumnOrder(1); - - b.Property("KeyName") - .HasColumnType("nvarchar(450)") - .HasColumnOrder(2); - - b.Property("DateTime") - .HasColumnType("datetime2") - .HasColumnOrder(3); - - b.Property("DataSide") - .HasColumnType("int") - .HasColumnOrder(4); - - b.Property("Type") - .HasColumnType("int") - .HasColumnOrder(5); - - b.Property("Value_Binary") - .HasColumnType("varbinary(max)"); - - b.Property("Value_Boolean") - .HasColumnType("bit"); - - b.Property("Value_DateTime") - .HasColumnType("datetime2"); - - b.Property("Value_Double") - .HasColumnType("float"); - - b.Property("Value_Json") - .HasColumnType("nvarchar(max)"); - - b.Property("Value_Long") - .HasColumnType("bigint"); - - b.Property("Value_String") - .HasColumnType("nvarchar(max)"); - - b.Property("Value_XML") - .HasColumnType("nvarchar(max)"); - - b.HasKey("DeviceId", "KeyName", "DateTime"); - - b.HasIndex("DeviceId"); - - b.HasIndex("KeyName"); - - b.HasIndex("DeviceId", "KeyName"); - - b.ToTable("TelemetryData"); - }); - - modelBuilder.Entity("IoTSharp.Data.Tenant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Address") - .HasColumnType("nvarchar(max)"); - - b.Property("City") - .HasColumnType("nvarchar(max)"); - - b.Property("Country") - .HasColumnType("nvarchar(max)"); - - b.Property("EMail") - .HasColumnType("nvarchar(max)"); - - b.Property("Name") - .HasColumnType("nvarchar(max)"); - - b.Property("Phone") - .HasColumnType("nvarchar(max)"); - - b.Property("Province") - .HasColumnType("nvarchar(max)"); - - b.Property("Street") - .HasColumnType("nvarchar(max)"); - - b.Property("ZipCode") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("Tenant"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => - { - b.Property("Id") - .HasColumnType("nvarchar(450)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasColumnType("nvarchar(max)"); - - b.Property("Name") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName") - .IsUnique() - .HasDatabaseName("RoleNameIndex") - .HasFilter("[NormalizedName] IS NOT NULL"); - - b.ToTable("AspNetRoles", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); - - b.Property("ClaimType") - .HasColumnType("nvarchar(max)"); - - b.Property("ClaimValue") - .HasColumnType("nvarchar(max)"); - - b.Property("RoleId") - .IsRequired() - .HasColumnType("nvarchar(450)"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetRoleClaims", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b => - { - b.Property("Id") - .HasColumnType("nvarchar(450)"); - - b.Property("AccessFailedCount") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasColumnType("nvarchar(max)"); - - b.Property("Email") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("EmailConfirmed") - .HasColumnType("bit"); - - b.Property("LockoutEnabled") - .HasColumnType("bit"); - - b.Property("LockoutEnd") - .HasColumnType("datetimeoffset"); - - b.Property("NormalizedEmail") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedUserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("PasswordHash") - .HasColumnType("nvarchar(max)"); - - b.Property("PhoneNumber") - .HasColumnType("nvarchar(max)"); - - b.Property("PhoneNumberConfirmed") - .HasColumnType("bit"); - - b.Property("SecurityStamp") - .HasColumnType("nvarchar(max)"); - - b.Property("TwoFactorEnabled") - .HasColumnType("bit"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedEmail") - .HasDatabaseName("EmailIndex"); - - b.HasIndex("NormalizedUserName") - .IsUnique() - .HasDatabaseName("UserNameIndex") - .HasFilter("[NormalizedUserName] IS NOT NULL"); - - b.ToTable("AspNetUsers", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); - - b.Property("ClaimType") - .HasColumnType("nvarchar(max)"); - - b.Property("ClaimValue") - .HasColumnType("nvarchar(max)"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("nvarchar(450)"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserClaims", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => - { - b.Property("LoginProvider") - .HasColumnType("nvarchar(450)"); - - b.Property("ProviderKey") - .HasColumnType("nvarchar(450)"); - - b.Property("ProviderDisplayName") - .HasColumnType("nvarchar(max)"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("nvarchar(450)"); - - b.HasKey("LoginProvider", "ProviderKey"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserLogins", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("nvarchar(450)"); - - b.Property("RoleId") - .HasColumnType("nvarchar(450)"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetUserRoles", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("nvarchar(450)"); - - b.Property("LoginProvider") - .HasColumnType("nvarchar(450)"); - - b.Property("Name") - .HasColumnType("nvarchar(450)"); - - b.Property("Value") - .HasColumnType("nvarchar(max)"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AspNetUserTokens", (string)null); - }); - - modelBuilder.Entity("IoTSharp.Data.AttributeLatest", b => - { - b.HasBaseType("IoTSharp.Data.DataStorage"); - - b.HasDiscriminator().HasValue(2); - }); - - modelBuilder.Entity("IoTSharp.Data.Gateway", b => - { - b.HasBaseType("IoTSharp.Data.Device"); - - b.HasDiscriminator().HasValue(1); - }); - - modelBuilder.Entity("IoTSharp.Data.ProduceData", b => - { - b.HasBaseType("IoTSharp.Data.DataStorage"); - - b.HasIndex("DeviceId"); - - b.HasDiscriminator().HasValue(5); - }); - - modelBuilder.Entity("IoTSharp.Data.TelemetryLatest", b => - { - b.HasBaseType("IoTSharp.Data.DataStorage"); - - b.HasDiscriminator().HasValue(4); - }); - - modelBuilder.Entity("IoTSharp.Data.Alarm", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.Asset", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.AssetRelation", b => - { - b.HasOne("IoTSharp.Data.Asset", null) - .WithMany("OwnedAssets") - .HasForeignKey("AssetId"); - }); - - modelBuilder.Entity("IoTSharp.Data.AuditLog", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.AuthorizedKey", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.BaseEvent", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.FlowRule", "FlowRule") - .WithMany() - .HasForeignKey("FlowRuleRuleId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("FlowRule"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.Customer", b => - { - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany("Customers") - .HasForeignKey("TenantId"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.Device", b => - { - b.HasOne("IoTSharp.Data.AuthorizedKey", null) - .WithMany("Devices") - .HasForeignKey("AuthorizedKeyId"); - - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany("Devices") - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.DeviceModel", "DeviceModel") - .WithMany() - .HasForeignKey("DeviceModelId"); - - b.HasOne("IoTSharp.Data.Gateway", "Owner") - .WithMany("Children") - .HasForeignKey("OwnerId"); - - b.HasOne("IoTSharp.Data.Produce", null) - .WithMany("Devices") - .HasForeignKey("ProduceId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany("Devices") - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("DeviceModel"); - - b.Navigation("Owner"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.DeviceDiagram", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.DeviceGraph", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.DeviceDiagram", "DeviceDiagram") - .WithMany() - .HasForeignKey("DeviceDiagramDiagramId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("DeviceDiagram"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.DeviceGraphToolBox", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.DeviceIdentity", b => - { - b.HasOne("IoTSharp.Data.Device", "Device") - .WithOne("DeviceIdentity") - .HasForeignKey("IoTSharp.Data.DeviceIdentity", "DeviceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Device"); - }); - - modelBuilder.Entity("IoTSharp.Data.DeviceModelCommand", b => - { - b.HasOne("IoTSharp.Data.DeviceModel", "DeviceModel") - .WithMany("DeviceModelCommands") - .HasForeignKey("DeviceModelId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("DeviceModel"); - }); - - modelBuilder.Entity("IoTSharp.Data.DeviceRule", b => - { - b.HasOne("IoTSharp.Data.Device", "Device") - .WithMany() - .HasForeignKey("DeviceId"); - - b.HasOne("IoTSharp.Data.FlowRule", "FlowRule") - .WithMany() - .HasForeignKey("FlowRuleRuleId"); - - b.Navigation("Device"); - - b.Navigation("FlowRule"); - }); - - modelBuilder.Entity("IoTSharp.Data.DynamicFormFieldInfo", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.DynamicFormFieldValueInfo", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.DynamicFormInfo", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.Flow", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.RuleTaskExecutor", "Executor") - .WithMany() - .HasForeignKey("ExecutorId"); - - b.HasOne("IoTSharp.Data.FlowRule", "FlowRule") - .WithMany() - .HasForeignKey("FlowRuleRuleId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("Executor"); - - b.Navigation("FlowRule"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.FlowOperation", b => - { - b.HasOne("IoTSharp.Data.BaseEvent", "BaseEvent") - .WithMany() - .HasForeignKey("BaseEventEventId"); - - b.HasOne("IoTSharp.Data.Flow", "Flow") - .WithMany() - .HasForeignKey("FlowId"); - - b.HasOne("IoTSharp.Data.FlowRule", "FlowRule") - .WithMany() - .HasForeignKey("FlowRuleRuleId"); - - b.Navigation("BaseEvent"); - - b.Navigation("Flow"); - - b.Navigation("FlowRule"); - }); - - modelBuilder.Entity("IoTSharp.Data.FlowRule", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.Produce", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.RefreshToken", b => - { - b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", "User") - .WithMany() - .HasForeignKey("UserId"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("IoTSharp.Data.Relationship", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", "IdentityUser") - .WithMany() - .HasForeignKey("IdentityUserId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("IdentityUser"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.RuleTaskExecutor", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.SubscriptionEvent", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("Tenant"); - }); - - modelBuilder.Entity("IoTSharp.Data.SubscriptionTask", b => - { - b.HasOne("IoTSharp.Data.RuleTaskExecutor", "RuleTaskExecutor") - .WithMany() - .HasForeignKey("RuleTaskExecutorExecutorId"); - - b.HasOne("IoTSharp.Data.SubscriptionEvent", "Subscription") - .WithMany() - .HasForeignKey("SubscriptionEventId"); - - b.Navigation("RuleTaskExecutor"); - - b.Navigation("Subscription"); - }); - - 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("Microsoft.AspNetCore.Identity.IdentityUser", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => - { - b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", 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("Microsoft.AspNetCore.Identity.IdentityUser", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("IoTSharp.Data.ProduceData", b => - { - b.HasOne("IoTSharp.Data.Produce", "Owner") - .WithMany("DefaultAttributes") - .HasForeignKey("DeviceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Owner"); - }); - - modelBuilder.Entity("IoTSharp.Data.Asset", b => - { - b.Navigation("OwnedAssets"); - }); - - modelBuilder.Entity("IoTSharp.Data.AuthorizedKey", b => - { - b.Navigation("Devices"); - }); - - modelBuilder.Entity("IoTSharp.Data.Customer", b => - { - b.Navigation("Devices"); - }); - - modelBuilder.Entity("IoTSharp.Data.Device", b => - { - b.Navigation("DeviceIdentity"); - }); - - modelBuilder.Entity("IoTSharp.Data.DeviceModel", b => - { - b.Navigation("DeviceModelCommands"); - }); - - modelBuilder.Entity("IoTSharp.Data.Produce", b => - { - b.Navigation("DefaultAttributes"); - - b.Navigation("Devices"); - }); - - modelBuilder.Entity("IoTSharp.Data.Tenant", b => - { - b.Navigation("Customers"); - - b.Navigation("Devices"); - }); - - modelBuilder.Entity("IoTSharp.Data.Gateway", b => - { - b.Navigation("Children"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/IoTSharp.Data.Storage/IoTSharp.Data.SqlServer/Migrations/20220913060334_Produce.cs b/IoTSharp.Data.Storage/IoTSharp.Data.SqlServer/Migrations/20220913060334_Produce.cs deleted file mode 100644 index 8e020d0e..00000000 --- a/IoTSharp.Data.Storage/IoTSharp.Data.SqlServer/Migrations/20220913060334_Produce.cs +++ /dev/null @@ -1,107 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace IoTSharp.Data.SqlServer.Migrations -{ - public partial class Produce : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "ProduceId", - table: "Device", - type: "uniqueidentifier", - nullable: true); - - migrationBuilder.CreateTable( - name: "Produce", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(max)", nullable: true), - DefaultTimeout = table.Column(type: "int", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - CustomerId = table.Column(type: "uniqueidentifier", nullable: true), - DefaultIdentityType = table.Column(type: "int", nullable: false), - Description = table.Column(type: "nvarchar(max)", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Produce", x => x.Id); - table.ForeignKey( - name: "FK_Produce_Customer_CustomerId", - column: x => x.CustomerId, - principalTable: "Customer", - principalColumn: "Id"); - table.ForeignKey( - name: "FK_Produce_Tenant_TenantId", - column: x => x.TenantId, - principalTable: "Tenant", - principalColumn: "Id"); - }); - - migrationBuilder.CreateIndex( - name: "IX_Device_ProduceId", - table: "Device", - column: "ProduceId"); - - migrationBuilder.CreateIndex( - name: "IX_DataStorage_DeviceId", - table: "DataStorage", - column: "DeviceId"); - - migrationBuilder.CreateIndex( - name: "IX_Produce_CustomerId", - table: "Produce", - column: "CustomerId"); - - migrationBuilder.CreateIndex( - name: "IX_Produce_TenantId", - table: "Produce", - column: "TenantId"); - - migrationBuilder.AddForeignKey( - name: "FK_DataStorage_Produce_DeviceId", - table: "DataStorage", - column: "DeviceId", - principalTable: "Produce", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - - migrationBuilder.AddForeignKey( - name: "FK_Device_Produce_ProduceId", - table: "Device", - column: "ProduceId", - principalTable: "Produce", - principalColumn: "Id"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_DataStorage_Produce_DeviceId", - table: "DataStorage"); - - migrationBuilder.DropForeignKey( - name: "FK_Device_Produce_ProduceId", - table: "Device"); - - migrationBuilder.DropTable( - name: "Produce"); - - migrationBuilder.DropIndex( - name: "IX_Device_ProduceId", - table: "Device"); - - migrationBuilder.DropIndex( - name: "IX_DataStorage_DeviceId", - table: "DataStorage"); - - migrationBuilder.DropColumn( - name: "ProduceId", - table: "Device"); - } - } -} diff --git a/IoTSharp.Data.Storage/IoTSharp.Data.SqlServer/Migrations/ApplicationDbContextModelSnapshot.cs b/IoTSharp.Data.Storage/IoTSharp.Data.SqlServer/Migrations/ApplicationDbContextModelSnapshot.cs index 4a756c5c..c8a83bec 100644 --- a/IoTSharp.Data.Storage/IoTSharp.Data.SqlServer/Migrations/ApplicationDbContextModelSnapshot.cs +++ b/IoTSharp.Data.Storage/IoTSharp.Data.SqlServer/Migrations/ApplicationDbContextModelSnapshot.cs @@ -17,7 +17,7 @@ namespace IoTSharp.Data.SqlServer.Migrations { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "6.0.8") + .HasAnnotation("ProductVersion", "6.0.3") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); @@ -606,9 +606,6 @@ namespace IoTSharp.Data.SqlServer.Migrations b.Property("OwnerId") .HasColumnType("uniqueidentifier"); - b.Property("ProduceId") - .HasColumnType("uniqueidentifier"); - b.Property("Status") .HasColumnType("int"); @@ -628,8 +625,6 @@ namespace IoTSharp.Data.SqlServer.Migrations b.HasIndex("OwnerId"); - b.HasIndex("ProduceId"); - b.HasIndex("TenantId"); b.ToTable("Device"); @@ -1448,39 +1443,6 @@ namespace IoTSharp.Data.SqlServer.Migrations b.ToTable("FlowRules"); }); - modelBuilder.Entity("IoTSharp.Data.Produce", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CustomerId") - .HasColumnType("uniqueidentifier"); - - b.Property("DefaultIdentityType") - .HasColumnType("int"); - - b.Property("DefaultTimeout") - .HasColumnType("int"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("Name") - .HasColumnType("nvarchar(max)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("CustomerId"); - - b.HasIndex("TenantId"); - - b.ToTable("Produce"); - }); - modelBuilder.Entity("IoTSharp.Data.RefreshToken", b => { b.Property("Id") @@ -1986,15 +1948,6 @@ namespace IoTSharp.Data.SqlServer.Migrations b.HasDiscriminator().HasValue(1); }); - modelBuilder.Entity("IoTSharp.Data.ProduceData", b => - { - b.HasBaseType("IoTSharp.Data.DataStorage"); - - b.HasIndex("DeviceId"); - - b.HasDiscriminator().HasValue(5); - }); - modelBuilder.Entity("IoTSharp.Data.TelemetryLatest", b => { b.HasBaseType("IoTSharp.Data.DataStorage"); @@ -2117,10 +2070,6 @@ namespace IoTSharp.Data.SqlServer.Migrations .WithMany("Children") .HasForeignKey("OwnerId"); - b.HasOne("IoTSharp.Data.Produce", null) - .WithMany("Devices") - .HasForeignKey("ProduceId"); - b.HasOne("IoTSharp.Data.Tenant", "Tenant") .WithMany("Devices") .HasForeignKey("TenantId"); @@ -2330,21 +2279,6 @@ namespace IoTSharp.Data.SqlServer.Migrations b.Navigation("Tenant"); }); - modelBuilder.Entity("IoTSharp.Data.Produce", b => - { - b.HasOne("IoTSharp.Data.Customer", "Customer") - .WithMany() - .HasForeignKey("CustomerId"); - - b.HasOne("IoTSharp.Data.Tenant", "Tenant") - .WithMany() - .HasForeignKey("TenantId"); - - b.Navigation("Customer"); - - b.Navigation("Tenant"); - }); - modelBuilder.Entity("IoTSharp.Data.RefreshToken", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", "User") @@ -2471,17 +2405,6 @@ namespace IoTSharp.Data.SqlServer.Migrations .IsRequired(); }); - modelBuilder.Entity("IoTSharp.Data.ProduceData", b => - { - b.HasOne("IoTSharp.Data.Produce", "Owner") - .WithMany("DefaultAttributes") - .HasForeignKey("DeviceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Owner"); - }); - modelBuilder.Entity("IoTSharp.Data.Asset", b => { b.Navigation("OwnedAssets"); @@ -2507,13 +2430,6 @@ namespace IoTSharp.Data.SqlServer.Migrations b.Navigation("DeviceModelCommands"); }); - modelBuilder.Entity("IoTSharp.Data.Produce", b => - { - b.Navigation("DefaultAttributes"); - - b.Navigation("Devices"); - }); - modelBuilder.Entity("IoTSharp.Data.Tenant", b => { b.Navigation("Customers"); diff --git a/IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/20220913060035_Produce.Designer.cs b/IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/20220914122629_Produce.Designer.cs similarity index 99% rename from IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/20220913060035_Produce.Designer.cs rename to IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/20220914122629_Produce.Designer.cs index 31bd127a..8f85aca0 100644 --- a/IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/20220913060035_Produce.Designer.cs +++ b/IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/20220914122629_Produce.Designer.cs @@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; namespace IoTSharp.Data.Sqlite.Migrations { [DbContext(typeof(ApplicationDbContext))] - [Migration("20220913060035_Produce")] + [Migration("20220914122629_Produce")] partial class Produce { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -2193,7 +2193,10 @@ namespace IoTSharp.Data.Sqlite.Migrations { b.HasBaseType("IoTSharp.Data.DataStorage"); - b.HasIndex("DeviceId"); + b.Property("OwnerId") + .HasColumnType("TEXT"); + + b.HasIndex("OwnerId"); b.HasDiscriminator().HasValue(5); }); @@ -2678,9 +2681,7 @@ namespace IoTSharp.Data.Sqlite.Migrations { b.HasOne("IoTSharp.Data.Produce", "Owner") .WithMany("DefaultAttributes") - .HasForeignKey("DeviceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + .HasForeignKey("OwnerId"); b.Navigation("Owner"); }); diff --git a/IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/20220913060035_Produce.cs b/IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/20220914122629_Produce.cs similarity index 85% rename from IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/20220913060035_Produce.cs rename to IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/20220914122629_Produce.cs index f684f2c3..b988ea9a 100644 --- a/IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/20220913060035_Produce.cs +++ b/IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/20220914122629_Produce.cs @@ -15,6 +15,12 @@ namespace IoTSharp.Data.Sqlite.Migrations type: "TEXT", nullable: true); + migrationBuilder.AddColumn( + name: "OwnerId", + table: "DataStorage", + type: "TEXT", + nullable: true); + migrationBuilder.CreateTable( name: "Produce", columns: table => new @@ -48,9 +54,9 @@ namespace IoTSharp.Data.Sqlite.Migrations column: "ProduceId"); migrationBuilder.CreateIndex( - name: "IX_DataStorage_DeviceId", + name: "IX_DataStorage_OwnerId", table: "DataStorage", - column: "DeviceId"); + column: "OwnerId"); migrationBuilder.CreateIndex( name: "IX_Produce_CustomerId", @@ -63,12 +69,11 @@ namespace IoTSharp.Data.Sqlite.Migrations column: "TenantId"); migrationBuilder.AddForeignKey( - name: "FK_DataStorage_Produce_DeviceId", + name: "FK_DataStorage_Produce_OwnerId", table: "DataStorage", - column: "DeviceId", + column: "OwnerId", principalTable: "Produce", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); + principalColumn: "Id"); migrationBuilder.AddForeignKey( name: "FK_Device_Produce_ProduceId", @@ -81,7 +86,7 @@ namespace IoTSharp.Data.Sqlite.Migrations protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropForeignKey( - name: "FK_DataStorage_Produce_DeviceId", + name: "FK_DataStorage_Produce_OwnerId", table: "DataStorage"); migrationBuilder.DropForeignKey( @@ -96,12 +101,16 @@ namespace IoTSharp.Data.Sqlite.Migrations table: "Device"); migrationBuilder.DropIndex( - name: "IX_DataStorage_DeviceId", + name: "IX_DataStorage_OwnerId", table: "DataStorage"); migrationBuilder.DropColumn( name: "ProduceId", table: "Device"); + + migrationBuilder.DropColumn( + name: "OwnerId", + table: "DataStorage"); } } } diff --git a/IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/ApplicationDbContextModelSnapshot.cs b/IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/ApplicationDbContextModelSnapshot.cs index 23dd75fc..6fb0c81e 100644 --- a/IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/ApplicationDbContextModelSnapshot.cs +++ b/IoTSharp.Data.Storage/IoTSharp.Data.Sqlite/Migrations/ApplicationDbContextModelSnapshot.cs @@ -2191,7 +2191,10 @@ namespace IoTSharp.Data.Sqlite.Migrations { b.HasBaseType("IoTSharp.Data.DataStorage"); - b.HasIndex("DeviceId"); + b.Property("OwnerId") + .HasColumnType("TEXT"); + + b.HasIndex("OwnerId"); b.HasDiscriminator().HasValue(5); }); @@ -2676,9 +2679,7 @@ namespace IoTSharp.Data.Sqlite.Migrations { b.HasOne("IoTSharp.Data.Produce", "Owner") .WithMany("DefaultAttributes") - .HasForeignKey("DeviceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + .HasForeignKey("OwnerId"); b.Navigation("Owner"); }); diff --git a/IoTSharp.Data/ApplicationDbContext.cs b/IoTSharp.Data/ApplicationDbContext.cs index 2c9b8503..bbef48ff 100644 --- a/IoTSharp.Data/ApplicationDbContext.cs +++ b/IoTSharp.Data/ApplicationDbContext.cs @@ -36,8 +36,7 @@ namespace IoTSharp.Data modelBuilder.Entity().HasOne(c => c.DeviceIdentity).WithOne(c => c.Device).HasForeignKey(c => c.DeviceId); modelBuilder.Entity().HasDiscriminator(nameof(Data.Device.DeviceType)).HasValue(DeviceType.Gateway).HasValue(DeviceType.Device); modelBuilder.Entity().HasDiscriminator(nameof(Data.Device.DeviceType)); - - modelBuilder.Entity().HasMany(c=>c.DefaultAttributes).WithOne(c=>c.Owner).HasForeignKey(c=>c.DeviceId); + ; var builder_options = this.GetService(); builder_options.Infrastructure = this; -- GitLab