808 lines
28 KiB
C#
808 lines
28 KiB
C#
// <auto-generated />
|
|
using System;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
using plant_manager.Data;
|
|
|
|
#nullable disable
|
|
|
|
namespace plant_manager.Data.Migrations
|
|
{
|
|
[DbContext(typeof(ApplicationDbContext))]
|
|
[Migration("20260604231106_AddGbifPlantTaxonMetadata")]
|
|
partial class AddGbifPlantTaxonMetadata
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
{
|
|
#pragma warning disable 612, 618
|
|
modelBuilder.HasAnnotation("ProductVersion", "10.0.7");
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.ActionLog", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("ActionNameSnapshot")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("CareActionId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("CareActivityId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Notes")
|
|
.HasMaxLength(1000)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateOnly>("PerformedOn")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("PlantId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("CareActionId");
|
|
|
|
b.HasIndex("CareActivityId");
|
|
|
|
b.HasIndex("PlantId");
|
|
|
|
b.ToTable("ActionLogs");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.ActionLogResource", b =>
|
|
{
|
|
b.Property<int>("ActionLogId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("ActionResourceId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<decimal?>("Quantity")
|
|
.HasPrecision(10, 2)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Unit")
|
|
.HasMaxLength(40)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("ActionLogId", "ActionResourceId");
|
|
|
|
b.HasIndex("ActionResourceId");
|
|
|
|
b.ToTable("ActionLogResources");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.ActionResource", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Notes")
|
|
.HasMaxLength(1000)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Name")
|
|
.IsUnique();
|
|
|
|
b.ToTable("ActionResources");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.CareAction", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Description")
|
|
.HasMaxLength(400)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Name")
|
|
.IsUnique();
|
|
|
|
b.ToTable("CareActions");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.CareActivity", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Notes")
|
|
.HasMaxLength(1000)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Name")
|
|
.IsUnique();
|
|
|
|
b.ToTable("CareActivities");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.CareActivityAction", b =>
|
|
{
|
|
b.Property<int>("CareActivityId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("CareActionId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("SortOrder")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("CareActivityId", "CareActionId");
|
|
|
|
b.HasIndex("CareActionId");
|
|
|
|
b.HasIndex("CareActivityId", "SortOrder")
|
|
.IsUnique();
|
|
|
|
b.ToTable("CareActivityActions");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.CareActivityActionResource", b =>
|
|
{
|
|
b.Property<int>("CareActivityId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("CareActionId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("ActionResourceId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Notes")
|
|
.HasMaxLength(1000)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<decimal?>("Quantity")
|
|
.HasPrecision(10, 2)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Unit")
|
|
.HasMaxLength(40)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("CareActivityId", "CareActionId", "ActionResourceId");
|
|
|
|
b.HasIndex("ActionResourceId");
|
|
|
|
b.ToTable("CareActivityActionResources");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.Plant", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateOnly?>("Birthday")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int?>("LocationId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Nickname")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int?>("TaxonId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("LocationId");
|
|
|
|
b.HasIndex("TaxonId");
|
|
|
|
b.ToTable("Plants");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.PlantCareSchedule", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("CareActionId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("CareActivityId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("EndsAfterOccurrences")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("EndsMode")
|
|
.IsRequired()
|
|
.HasMaxLength(20)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateOnly?>("EndsOn")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("EveryDays")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("PlantId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("RecurrenceMode")
|
|
.IsRequired()
|
|
.HasMaxLength(20)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("RepeatEvery")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("RepeatOnDays")
|
|
.HasMaxLength(40)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("RepeatUnit")
|
|
.IsRequired()
|
|
.HasMaxLength(20)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateOnly?>("ScheduledFor")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("CareActionId");
|
|
|
|
b.HasIndex("CareActivityId");
|
|
|
|
b.HasIndex("PlantId", "CareActionId");
|
|
|
|
b.HasIndex("PlantId", "CareActivityId")
|
|
.IsUnique();
|
|
|
|
b.ToTable("PlantCareSchedules");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.PlantFlag", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Notes")
|
|
.HasMaxLength(1000)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("PlantFlagDefinitionId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("PlantId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateOnly?>("ResolvedOn")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateOnly>("StartedOn")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("PlantFlagDefinitionId");
|
|
|
|
b.HasIndex("PlantId", "PlantFlagDefinitionId", "ResolvedOn");
|
|
|
|
b.ToTable("PlantFlags");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.PlantFlagDefinition", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Color")
|
|
.IsRequired()
|
|
.HasMaxLength(20)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Name")
|
|
.IsUnique();
|
|
|
|
b.ToTable("PlantFlagDefinitions");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.PlantGroup", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Notes")
|
|
.HasMaxLength(1000)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Name")
|
|
.IsUnique();
|
|
|
|
b.ToTable("PlantGroups");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.PlantGroupMembership", b =>
|
|
{
|
|
b.Property<int>("PlantId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("PlantGroupId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("PlantId", "PlantGroupId");
|
|
|
|
b.HasIndex("PlantGroupId");
|
|
|
|
b.ToTable("PlantGroupMemberships");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.PlantLocation", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Notes")
|
|
.HasMaxLength(1000)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Name")
|
|
.IsUnique();
|
|
|
|
b.ToTable("PlantLocations");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.PlantTaxon", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Authority")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("CommonName")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Cultivar")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("ExternalId")
|
|
.HasMaxLength(80)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("ExternalSource")
|
|
.HasMaxLength(40)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Family")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Genus")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Species")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Variety")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("ExternalSource", "ExternalId");
|
|
|
|
b.ToTable("PlantTaxa");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.Recipe", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("MeasurementMode")
|
|
.IsRequired()
|
|
.HasMaxLength(40)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Notes")
|
|
.HasMaxLength(1000)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int?>("OutputResourceId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Type")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Name")
|
|
.IsUnique();
|
|
|
|
b.HasIndex("OutputResourceId")
|
|
.IsUnique();
|
|
|
|
b.ToTable("Recipes");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.RecipeComponent", b =>
|
|
{
|
|
b.Property<int>("RecipeId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("ActionResourceId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Notes")
|
|
.HasMaxLength(1000)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<decimal?>("Quantity")
|
|
.HasPrecision(10, 2)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("SortOrder")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Unit")
|
|
.HasMaxLength(40)
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("RecipeId", "ActionResourceId");
|
|
|
|
b.HasIndex("ActionResourceId");
|
|
|
|
b.HasIndex("RecipeId", "SortOrder")
|
|
.IsUnique();
|
|
|
|
b.ToTable("RecipeComponents");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.ActionLog", b =>
|
|
{
|
|
b.HasOne("plant_manager.Data.Models.CareAction", "CareAction")
|
|
.WithMany("ActionLogs")
|
|
.HasForeignKey("CareActionId")
|
|
.OnDelete(DeleteBehavior.Restrict)
|
|
.IsRequired();
|
|
|
|
b.HasOne("plant_manager.Data.Models.CareActivity", "CareActivity")
|
|
.WithMany("ActionLogs")
|
|
.HasForeignKey("CareActivityId")
|
|
.OnDelete(DeleteBehavior.Restrict)
|
|
.IsRequired();
|
|
|
|
b.HasOne("plant_manager.Data.Models.Plant", "Plant")
|
|
.WithMany("ActionLogs")
|
|
.HasForeignKey("PlantId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("CareAction");
|
|
|
|
b.Navigation("CareActivity");
|
|
|
|
b.Navigation("Plant");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.ActionLogResource", b =>
|
|
{
|
|
b.HasOne("plant_manager.Data.Models.ActionLog", "ActionLog")
|
|
.WithMany("Resources")
|
|
.HasForeignKey("ActionLogId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("plant_manager.Data.Models.ActionResource", "ActionResource")
|
|
.WithMany("ActionLogResources")
|
|
.HasForeignKey("ActionResourceId")
|
|
.OnDelete(DeleteBehavior.Restrict)
|
|
.IsRequired();
|
|
|
|
b.Navigation("ActionLog");
|
|
|
|
b.Navigation("ActionResource");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.CareActivityAction", b =>
|
|
{
|
|
b.HasOne("plant_manager.Data.Models.CareAction", "CareAction")
|
|
.WithMany("CareActivityActions")
|
|
.HasForeignKey("CareActionId")
|
|
.OnDelete(DeleteBehavior.Restrict)
|
|
.IsRequired();
|
|
|
|
b.HasOne("plant_manager.Data.Models.CareActivity", "CareActivity")
|
|
.WithMany("Actions")
|
|
.HasForeignKey("CareActivityId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("CareAction");
|
|
|
|
b.Navigation("CareActivity");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.CareActivityActionResource", b =>
|
|
{
|
|
b.HasOne("plant_manager.Data.Models.ActionResource", "ActionResource")
|
|
.WithMany("CareActivityActionResources")
|
|
.HasForeignKey("ActionResourceId")
|
|
.OnDelete(DeleteBehavior.Restrict)
|
|
.IsRequired();
|
|
|
|
b.HasOne("plant_manager.Data.Models.CareActivityAction", "CareActivityAction")
|
|
.WithMany("Resources")
|
|
.HasForeignKey("CareActivityId", "CareActionId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("ActionResource");
|
|
|
|
b.Navigation("CareActivityAction");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.Plant", b =>
|
|
{
|
|
b.HasOne("plant_manager.Data.Models.PlantLocation", "Location")
|
|
.WithMany("Plants")
|
|
.HasForeignKey("LocationId")
|
|
.OnDelete(DeleteBehavior.SetNull);
|
|
|
|
b.HasOne("plant_manager.Data.Models.PlantTaxon", "Taxon")
|
|
.WithMany()
|
|
.HasForeignKey("TaxonId")
|
|
.OnDelete(DeleteBehavior.SetNull);
|
|
|
|
b.Navigation("Location");
|
|
|
|
b.Navigation("Taxon");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.PlantCareSchedule", b =>
|
|
{
|
|
b.HasOne("plant_manager.Data.Models.CareAction", "CareAction")
|
|
.WithMany("PlantCareSchedules")
|
|
.HasForeignKey("CareActionId")
|
|
.OnDelete(DeleteBehavior.Restrict)
|
|
.IsRequired();
|
|
|
|
b.HasOne("plant_manager.Data.Models.CareActivity", "CareActivity")
|
|
.WithMany("PlantCareSchedules")
|
|
.HasForeignKey("CareActivityId")
|
|
.OnDelete(DeleteBehavior.Restrict)
|
|
.IsRequired();
|
|
|
|
b.HasOne("plant_manager.Data.Models.Plant", "Plant")
|
|
.WithMany("CareSchedules")
|
|
.HasForeignKey("PlantId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("CareAction");
|
|
|
|
b.Navigation("CareActivity");
|
|
|
|
b.Navigation("Plant");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.PlantFlag", b =>
|
|
{
|
|
b.HasOne("plant_manager.Data.Models.PlantFlagDefinition", "Definition")
|
|
.WithMany("PlantFlags")
|
|
.HasForeignKey("PlantFlagDefinitionId")
|
|
.OnDelete(DeleteBehavior.Restrict)
|
|
.IsRequired();
|
|
|
|
b.HasOne("plant_manager.Data.Models.Plant", "Plant")
|
|
.WithMany("Flags")
|
|
.HasForeignKey("PlantId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Definition");
|
|
|
|
b.Navigation("Plant");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.PlantGroupMembership", b =>
|
|
{
|
|
b.HasOne("plant_manager.Data.Models.PlantGroup", "PlantGroup")
|
|
.WithMany("Memberships")
|
|
.HasForeignKey("PlantGroupId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("plant_manager.Data.Models.Plant", "Plant")
|
|
.WithMany("GroupMemberships")
|
|
.HasForeignKey("PlantId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Plant");
|
|
|
|
b.Navigation("PlantGroup");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.Recipe", b =>
|
|
{
|
|
b.HasOne("plant_manager.Data.Models.ActionResource", "OutputResource")
|
|
.WithOne("ProducedByRecipe")
|
|
.HasForeignKey("plant_manager.Data.Models.Recipe", "OutputResourceId")
|
|
.OnDelete(DeleteBehavior.SetNull);
|
|
|
|
b.Navigation("OutputResource");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.RecipeComponent", b =>
|
|
{
|
|
b.HasOne("plant_manager.Data.Models.ActionResource", "ActionResource")
|
|
.WithMany("RecipeComponents")
|
|
.HasForeignKey("ActionResourceId")
|
|
.OnDelete(DeleteBehavior.Restrict)
|
|
.IsRequired();
|
|
|
|
b.HasOne("plant_manager.Data.Models.Recipe", "Recipe")
|
|
.WithMany("Components")
|
|
.HasForeignKey("RecipeId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("ActionResource");
|
|
|
|
b.Navigation("Recipe");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.ActionLog", b =>
|
|
{
|
|
b.Navigation("Resources");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.ActionResource", b =>
|
|
{
|
|
b.Navigation("ActionLogResources");
|
|
|
|
b.Navigation("CareActivityActionResources");
|
|
|
|
b.Navigation("ProducedByRecipe");
|
|
|
|
b.Navigation("RecipeComponents");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.CareAction", b =>
|
|
{
|
|
b.Navigation("ActionLogs");
|
|
|
|
b.Navigation("CareActivityActions");
|
|
|
|
b.Navigation("PlantCareSchedules");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.CareActivity", b =>
|
|
{
|
|
b.Navigation("ActionLogs");
|
|
|
|
b.Navigation("Actions");
|
|
|
|
b.Navigation("PlantCareSchedules");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.CareActivityAction", b =>
|
|
{
|
|
b.Navigation("Resources");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.Plant", b =>
|
|
{
|
|
b.Navigation("ActionLogs");
|
|
|
|
b.Navigation("CareSchedules");
|
|
|
|
b.Navigation("Flags");
|
|
|
|
b.Navigation("GroupMemberships");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.PlantFlagDefinition", b =>
|
|
{
|
|
b.Navigation("PlantFlags");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.PlantGroup", b =>
|
|
{
|
|
b.Navigation("Memberships");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.PlantLocation", b =>
|
|
{
|
|
b.Navigation("Plants");
|
|
});
|
|
|
|
modelBuilder.Entity("plant_manager.Data.Models.Recipe", b =>
|
|
{
|
|
b.Navigation("Components");
|
|
});
|
|
#pragma warning restore 612, 618
|
|
}
|
|
}
|
|
}
|