// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using Pf2eModel; using Pf2eModel.Model.Enum; #nullable disable namespace Pf2eModel.Migrations { [DbContext(typeof(Pf2eDbContext))] [Migration("20250418174520_1")] partial class _1 { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "action_category", new[] { "unknown", "offensive", "defensive", "interaction", "familiar", "army_tactic", "army_war_action", "kingdom_activity", "kingdom_feat", "kingdom_feature" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "action_type", new[] { "none", "1_action", "2_actions", "3_actions", "1-3_actions", "1-2_actions" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "alias_type", new[] { "legacy", "english", "legacy_english", "hobby", "other" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "ancestry_vision", new[] { "normal", "low-light-vision", "dark-vision" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "attribute_values", new[] { "free", "str", "dex", "con", "int", "wis", "cha" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "class_progression_type", new[] { "entity", "ancestry_feat", "class_feat", "general_feat", "skill_feat", "skill_increase" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "condition_group", new[] { "unknown", "senses", "abilities", "death", "attitudes", "detection" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_category", new[] { "deity", "pantheon", "covenant", "philosophy" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_fonts", new[] { "none", "heal", "harm", "any" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_sanctification", new[] { "holy", "unholy", "any" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "entity_rarity", new[] { "common", "uncommon", "rare", "unique" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "entity_type", new[] { "unknown", "trait", "action", "ancestry", "background", "backpack", "campaign_feature", "class", "condition", "deity", "feat", "heritage", "spell", "language" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "feat_action_type", new[] { "passive", "action", "reaction", "free" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "feat_category", new[] { "ancestryfeature", "classfeature", "calling", "class", "skill", "general", "ancestry", "bonus", "deityboon", "curse", "pfsboon", "campaign_feature" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "size", new[] { "tiny", "small", "medium", "large" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "source_category", new[] { "rulebook", "adventure-path", "lost-omens", "adventures", "comics", "blog-posts", "society" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_area_type", new[] { "burst", "emanation", "cone", "line", "square", "cube", "cylinder" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_damage_category", new[] { "persistent", "splash" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_damage_kinds", new[] { "damage", "healing", "any" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "training_stage", new[] { "untrained", "trained", "expert", "master", "legendary" }); NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "trait_type", new[] { "regular", "tradition" }); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("DeityTraining", b => { b.Property("DeityId") .HasColumnType("integer") .HasColumnName("deity_id"); b.Property("SkillsId") .HasColumnType("integer") .HasColumnName("skills_id"); b.HasKey("DeityId", "SkillsId") .HasName("pk_deity_training"); b.HasIndex("SkillsId") .HasDatabaseName("ix_deity_training_skills_id"); b.ToTable("deity_training", (string)null); }); modelBuilder.Entity("EntityKeyword", b => { b.Property("EntitiesId") .HasColumnType("integer") .HasColumnName("entities_id"); b.Property("KeywordsId") .HasColumnType("integer") .HasColumnName("keywords_id"); b.HasKey("EntitiesId", "KeywordsId") .HasName("pk_entity_keyword"); b.HasIndex("KeywordsId") .HasDatabaseName("ix_entity_keyword_keywords_id"); b.ToTable("entity_keyword", (string)null); }); modelBuilder.Entity("EntityTrait", b => { b.Property("EntitiesId") .HasColumnType("integer") .HasColumnName("entities_id"); b.Property("TraitsId") .HasColumnType("integer") .HasColumnName("traits_id"); b.HasKey("EntitiesId", "TraitsId") .HasName("pk_entity_trait"); b.HasIndex("TraitsId") .HasDatabaseName("ix_entity_trait_traits_id"); b.ToTable("entity_trait", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Base.Entity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Description") .IsRequired() .HasColumnType("text") .HasColumnName("description") .HasColumnOrder(6) .HasComment("Текстовое описание объекта"); b.Property("Img") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("img") .HasColumnOrder(5) .HasComment("Изображение объекта"); b.Property("IsChecked") .HasColumnType("boolean") .HasColumnName("is_checked") .HasColumnOrder(9) .HasComment("Флаг, указывающий, что объект был проверен и не требует автоматической перезаписи"); b.Property("IsTranslated") .HasColumnType("boolean") .HasColumnName("is_translated") .HasColumnOrder(8) .HasComment("Флаг, указывающий, что у объекта существует перевод"); b.Property("Name") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("name") .HasColumnOrder(2) .HasComment("Отображаемое имя"); b.Property("Rarity") .HasColumnType("entity_rarity") .HasColumnName("rarity") .HasColumnOrder(7); b.Property("Slug") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("slug") .HasColumnOrder(4) .HasComment("Часть имени в URL"); b.Property("Type") .HasColumnType("entity_type") .HasColumnName("type") .HasColumnOrder(3) .HasComment("Тип объекта"); b.HasKey("Id") .HasName("pk_entities"); b.ToTable("entities", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Base.EntityAlias", b => { b.Property("EntityId") .HasColumnType("integer") .HasColumnName("entity_id") .HasColumnOrder(1); b.Property("Type") .HasColumnType("alias_type") .HasColumnName("type") .HasColumnOrder(2); b.Property("Alias") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("alias") .HasColumnOrder(3); b.HasKey("EntityId", "Type") .HasName("pk_entity_aliases"); b.ToTable("entity_aliases", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Base.Keywords.Keyword", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Slug") .IsRequired() .HasColumnType("text") .HasColumnName("slug") .HasColumnOrder(2); b.HasKey("Id") .HasName("pk_keywords"); b.ToTable("keywords", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Base.Keywords.KeywordAlias", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("KeywordId") .HasColumnType("integer") .HasColumnName("keyword_id") .HasColumnOrder(2); b.Property("Value") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("value") .HasColumnOrder(3); b.HasKey("Id") .HasName("pk_keyword_aliases"); b.HasIndex("KeywordId") .HasDatabaseName("ix_keyword_aliases_keyword_id"); b.ToTable("keyword_aliases", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Base.Source.EntitySource", b => { b.Property("EntityId") .HasColumnType("integer") .HasColumnName("entity_id") .HasColumnOrder(1); b.Property("SourceId") .HasColumnType("integer") .HasColumnName("source_id") .HasColumnOrder(2); b.Property("IsRemaster") .HasColumnType("boolean") .HasColumnName("is_remaster") .HasColumnOrder(4) .HasComment("Флаг, указывающий, что объект является частью ремастера"); b.Property("Suffix") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("suffix") .HasColumnOrder(3) .HasComment("Номер страницы, эррата и т.д."); b.HasKey("EntityId", "SourceId") .HasName("pk_entity_sources"); b.HasIndex("SourceId") .HasDatabaseName("ix_entity_sources_source_id"); b.ToTable("entity_sources", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Base.Source.Source", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Category") .HasColumnType("source_category") .HasColumnName("category") .HasColumnOrder(3); b.Property("Name") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("name") .HasColumnOrder(2); b.Property("ReleaseDate") .HasColumnType("date") .HasColumnName("release_date") .HasColumnOrder(4); b.HasKey("Id") .HasName("pk_sources"); b.ToTable("sources", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Base.Targets.EntityExternal", b => { b.Property("EntityId") .HasColumnType("integer") .HasColumnName("entity_id") .HasColumnOrder(0); b.Property("TargetId") .HasColumnType("integer") .HasColumnName("target_id") .HasColumnOrder(1); b.Property("Md5") .IsRequired() .HasMaxLength(32) .HasColumnType("character varying(32)") .HasColumnName("md5") .HasColumnOrder(3) .HasComment("Контроль версии объекта"); b.Property("Suffix") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("suffix") .HasColumnOrder(2) .HasComment("Часть URL до объекта. Для источников Foundry - полный UUID объекта"); b.HasKey("EntityId", "TargetId") .HasName("pk_entity_externals"); b.HasIndex("TargetId") .HasDatabaseName("ix_entity_externals_target_id"); b.ToTable("entity_externals", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Base.Targets.ExternalTarget", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Icon") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("icon") .HasColumnOrder(3); b.Property("Name") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("name") .HasColumnOrder(2); b.Property("Prefix") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("prefix") .HasColumnOrder(3); b.HasKey("Id") .HasName("pk_external_targets"); b.ToTable("external_targets", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Common.Frequency", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Max") .HasColumnType("integer") .HasColumnName("max") .HasColumnOrder(2); b.Property("Per") .HasColumnType("integer") .HasColumnName("per") .HasColumnOrder(3); b.Property("Value") .HasColumnType("integer") .HasColumnName("value") .HasColumnOrder(4); b.HasKey("Id") .HasName("pk_frequencies"); b.ToTable("frequencies", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Common.Training", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Key") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("key") .HasColumnOrder(2); b.HasKey("Id") .HasName("pk_trainings"); b.ToTable("trainings", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Action", b => { b.Property("Id") .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); b.Property("Actions") .HasColumnType("integer") .HasColumnName("actions") .HasColumnOrder(3); b.Property("Extra") .HasColumnType("text") .HasColumnName("extra") .HasColumnOrder(6); b.Property("IsFreeAction") .HasColumnType("boolean") .HasColumnName("is_free_action") .HasColumnOrder(6); b.Property("IsPassive") .HasColumnType("boolean") .HasColumnName("is_passive") .HasColumnOrder(6); b.Property("IsReaction") .HasColumnType("boolean") .HasColumnName("is_reaction") .HasColumnOrder(5); b.Property("MaxActions") .HasColumnType("integer") .HasColumnName("max_actions") .HasColumnOrder(4); b.Property("Type") .HasColumnType("action_type") .HasColumnName("type") .HasColumnOrder(2); b.HasKey("Id") .HasName("pk_actions"); b.ToTable("actions", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Ancestry", b => { b.Property("Id") .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); b.Property("Hp") .HasColumnType("integer") .HasColumnName("hp") .HasColumnOrder(3); b.PrimitiveCollection("Size") .IsRequired() .HasColumnType("size[]") .HasColumnName("size") .HasColumnOrder(2); b.Property("Speed") .HasColumnType("integer") .HasColumnName("speed") .HasColumnOrder(4); b.Property("Vision") .HasColumnType("ancestry_vision") .HasColumnName("vision") .HasColumnOrder(5); b.HasKey("Id") .HasName("pk_ancestries"); b.ToTable("ancestries", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.AncestryRelation.AncestryBoost", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AncestryId") .HasColumnType("integer") .HasColumnName("ancestry_id") .HasColumnOrder(2); b.Property("Boost") .HasColumnType("boolean") .HasColumnName("boost") .HasColumnOrder(3); b.Property("Value") .HasColumnType("attribute_values") .HasColumnName("value") .HasColumnOrder(4); b.HasKey("Id") .HasName("pk_ancestry_boosts"); b.HasIndex("AncestryId") .HasDatabaseName("ix_ancestry_boosts_ancestry_id"); b.ToTable("ancestry_boosts", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.AncestryRelation.AncestryItem", b => { b.Property("AncestryId") .HasColumnType("integer") .HasColumnName("ancestry_id") .HasColumnOrder(1); b.Property("ItemId") .HasColumnType("integer") .HasColumnName("item_id") .HasColumnOrder(2); b.Property("Level") .HasColumnType("integer") .HasColumnName("level") .HasColumnOrder(3); b.HasKey("AncestryId", "ItemId") .HasName("pk_ancestry_items"); b.HasIndex("ItemId") .HasDatabaseName("ix_ancestry_items_item_id"); b.ToTable("ancestry_items", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.AncestryRelation.AncestryLanguage", b => { b.Property("AncestryId") .HasColumnType("integer") .HasColumnName("ancestry_id") .HasColumnOrder(1); b.Property("LanguageId") .HasColumnType("integer") .HasColumnName("language_id") .HasColumnOrder(2); b.Property("IsAdditional") .HasColumnType("boolean") .HasColumnName("is_additional") .HasColumnOrder(3); b.HasKey("AncestryId", "LanguageId") .HasName("pk_ancestry_languages"); b.HasIndex("LanguageId") .HasDatabaseName("ix_ancestry_languages_language_id"); b.ToTable("ancestry_languages", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Background", b => { b.Property("Id") .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); b.HasKey("Id") .HasName("pk_backgrounds"); b.ToTable("backgrounds", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.BackgroundRelation.BackgroundBoost", b => { b.Property("Id") .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); b.Property("Attribute") .HasColumnType("attribute_values") .HasColumnName("attribute") .HasColumnOrder(3); b.Property("BackgroundId") .HasColumnType("integer") .HasColumnName("background_id") .HasColumnOrder(2); b.HasKey("Id") .HasName("pk_background_boosts"); b.HasIndex("BackgroundId") .HasDatabaseName("ix_background_boosts_background_id"); b.ToTable("background_boosts", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.BackgroundRelation.BackgroundItem", b => { b.Property("BackgroundId") .HasColumnType("integer") .HasColumnName("background_id") .HasColumnOrder(1); b.Property("EntityId") .HasColumnType("integer") .HasColumnName("entity_id") .HasColumnOrder(2); b.Property("Level") .HasColumnType("integer") .HasColumnName("level") .HasColumnOrder(3); b.HasKey("BackgroundId", "EntityId") .HasName("pk_background_items"); b.HasIndex("EntityId") .HasDatabaseName("ix_background_items_entity_id"); b.ToTable("background_items", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.BackgroundRelation.BackgroundTraining", b => { b.Property("Id") .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); b.Property("BackgroundId") .HasColumnType("integer") .HasColumnName("background_id") .HasColumnOrder(2); b.Property("Level") .HasColumnType("training_stage") .HasColumnName("level") .HasColumnOrder(4); b.Property("TrainingId") .HasColumnType("integer") .HasColumnName("training_id") .HasColumnOrder(3); b.HasKey("Id") .HasName("pk_background_skills"); b.HasIndex("BackgroundId") .HasDatabaseName("ix_background_skills_background_id"); b.HasIndex("TrainingId") .HasDatabaseName("ix_background_skills_training_id"); b.ToTable("background_skills", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Class", b => { b.Property("Id") .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); b.Property("AdditionalTrainedSkills") .HasColumnType("integer") .HasColumnName("additional_trained_skills") .HasColumnOrder(6); b.Property("Hp") .HasColumnType("integer") .HasColumnName("hp") .HasColumnOrder(3); b.Property("Perception") .HasColumnType("integer") .HasColumnName("perception") .HasColumnOrder(4); b.Property("Spellcasting") .HasColumnType("boolean") .HasColumnName("spellcasting") .HasColumnOrder(5); b.HasKey("Id") .HasName("pk_classes"); b.ToTable("classes", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.ClassRelation.ClassKeyAbility", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ClassId") .HasColumnType("integer") .HasColumnName("class_id") .HasColumnOrder(2); b.Property("Value") .HasColumnType("attribute_values") .HasColumnName("value") .HasColumnOrder(3); b.HasKey("Id") .HasName("pk_class_key_abilities"); b.HasIndex("ClassId") .HasDatabaseName("ix_class_key_abilities_class_id"); b.ToTable("class_key_abilities", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.ClassRelation.ClassProgression", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ClassId") .HasColumnType("integer") .HasColumnName("class_id") .HasColumnOrder(2); b.Property("EntityId") .HasColumnType("integer") .HasColumnName("entity_id") .HasColumnOrder(5); b.Property("Level") .HasColumnType("integer") .HasColumnName("level") .HasColumnOrder(31); b.Property("Type") .HasColumnType("class_progression_type") .HasColumnName("type") .HasColumnOrder(4); b.HasKey("Id") .HasName("pk_class_progressions"); b.HasIndex("ClassId") .HasDatabaseName("ix_class_progressions_class_id"); b.HasIndex("EntityId") .HasDatabaseName("ix_class_progressions_entity_id"); b.ToTable("class_progressions", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.ClassRelation.ClassTraining", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ClassId") .HasColumnType("integer") .HasColumnName("class_id") .HasColumnOrder(2); b.Property("Name") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("name") .HasColumnOrder(4); b.Property("Stage") .HasColumnType("integer") .HasColumnName("stage") .HasColumnOrder(5); b.Property("TrainingId") .HasColumnType("integer") .HasColumnName("training_id") .HasColumnOrder(3); b.HasKey("Id") .HasName("pk_class_trainings"); b.HasIndex("ClassId") .HasDatabaseName("ix_class_trainings_class_id"); b.HasIndex("TrainingId") .HasDatabaseName("ix_class_trainings_training_id"); b.ToTable("class_trainings", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Condition", b => { b.Property("Id") .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); b.Property("Extra") .HasColumnType("text") .HasColumnName("extra") .HasColumnOrder(3); b.Property("Group") .HasColumnType("condition_group") .HasColumnName("group") .HasColumnOrder(2); b.HasKey("Id") .HasName("pk_conditions"); b.ToTable("conditions", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Deity", b => { b.Property("Id") .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); b.Property("Category") .HasColumnType("deity_category") .HasColumnName("category") .HasColumnOrder(2); b.Property("Fonts") .HasColumnType("deity_fonts") .HasColumnName("fonts") .HasColumnOrder(3); b.Property("Sanctification") .HasColumnType("deity_sanctification") .HasColumnName("sanctification") .HasColumnOrder(4); b.Property("SanctificationMust") .HasColumnType("boolean") .HasColumnName("sanctification_must") .HasColumnOrder(5); b.HasKey("Id") .HasName("pk_deities"); b.ToTable("deities", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.DeityRelation.DeityAttribute", b => { b.Property("DeityId") .HasColumnType("integer") .HasColumnName("deity_id") .HasColumnOrder(1); b.Property("Attribute") .HasColumnType("attribute_values") .HasColumnName("attribute") .HasColumnOrder(2); b.HasKey("DeityId", "Attribute") .HasName("pk_deity_attributes"); b.ToTable("deity_attributes", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.DeityRelation.DeityDomain", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("DeityId") .HasColumnType("integer") .HasColumnName("deity_id") .HasColumnOrder(2); b.Property("IsPrimary") .HasColumnType("boolean") .HasColumnName("is_primary") .HasColumnOrder(3); b.Property("Value") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("value") .HasColumnOrder(4); b.HasKey("Id") .HasName("pk_deity_domains"); b.HasIndex("DeityId") .HasDatabaseName("ix_deity_domains_deity_id"); b.ToTable("deity_domains", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.DeityRelation.DeitySpell", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("DeityId") .HasColumnType("integer") .HasColumnName("deity_id") .HasColumnOrder(2); b.Property("Level") .HasColumnType("integer") .HasColumnName("level") .HasColumnOrder(3); b.Property("SpellId") .HasColumnType("integer") .HasColumnName("spell_id") .HasColumnOrder(4); b.HasKey("Id") .HasName("pk_deity_spells"); b.HasIndex("DeityId") .HasDatabaseName("ix_deity_spells_deity_id"); b.HasIndex("SpellId") .HasDatabaseName("ix_deity_spells_spell_id"); b.ToTable("deity_spells", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.DeityRelation.DeityWeapon", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("DeityId") .HasColumnType("integer") .HasColumnName("deity_id") .HasColumnOrder(2); b.Property("Weapon") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("weapon") .HasColumnOrder(3); b.HasKey("Id") .HasName("pk_deity_weapons"); b.HasIndex("DeityId") .HasDatabaseName("ix_deity_weapons_deity_id"); b.ToTable("deity_weapons", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Feat", b => { b.Property("Id") .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); b.Property("Actions") .HasColumnType("integer") .HasColumnName("actions") .HasColumnOrder(4); b.Property("Category") .HasColumnType("action_category") .HasColumnName("category") .HasColumnOrder(3); b.Property("Extra") .HasColumnType("text") .HasColumnName("extra") .HasColumnOrder(10); b.Property("Level") .HasColumnType("integer") .HasColumnName("level") .HasColumnOrder(5); b.Property("LevelTaken") .HasColumnType("integer") .HasColumnName("level_taken") .HasColumnOrder(6); b.Property("Location") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("location") .HasColumnOrder(8); b.Property("MaxTakable") .HasColumnType("integer") .HasColumnName("max_takable") .HasColumnOrder(7); b.Property("OnlyLevel1") .HasColumnType("boolean") .HasColumnName("only_level1") .HasColumnOrder(9); b.Property("Type") .HasColumnType("action_type") .HasColumnName("type") .HasColumnOrder(2); b.HasKey("Id") .HasName("pk_feats"); b.ToTable("feats", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.FeatRelation.FeatPrerequisite", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("FeatId") .HasColumnType("integer") .HasColumnName("feat_id") .HasColumnOrder(2); b.Property("Value") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("value") .HasColumnOrder(3); b.HasKey("Id") .HasName("pk_feat_prerequisites"); b.HasIndex("FeatId") .HasDatabaseName("ix_feat_prerequisites_feat_id"); b.ToTable("feat_prerequisites", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Heritage", b => { b.Property("Id") .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); b.Property("AncestryId") .HasColumnType("integer") .HasColumnName("ancestry_id") .HasColumnOrder(2); b.HasKey("Id") .HasName("pk_heritages"); b.HasIndex("AncestryId") .HasDatabaseName("ix_heritages_ancestry_id"); b.ToTable("heritages", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Language", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("EntityId") .HasColumnType("integer") .HasColumnName("entity_id"); b.HasKey("Id") .HasName("pk_languages"); b.HasIndex("EntityId") .HasDatabaseName("ix_languages_entity_id"); b.ToTable("languages", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Spell", b => { b.Property("Id") .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); b.Property("CanHeightening") .HasColumnType("boolean") .HasColumnName("can_heightening") .HasColumnOrder(11); b.Property("Cost") .HasColumnType("integer") .HasColumnName("cost") .HasColumnOrder(3); b.Property("Counteraction") .HasColumnType("boolean") .HasColumnName("counteraction") .HasColumnOrder(4); b.Property("Duration") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("duration") .HasColumnOrder(6); b.Property("Level") .HasColumnType("integer") .HasColumnName("level") .HasColumnOrder(2); b.Property("Range") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("range") .HasColumnOrder(7); b.Property("Requirements") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("requirements") .HasColumnOrder(8); b.Property("Sustained") .HasColumnType("boolean") .HasColumnName("sustained") .HasColumnOrder(5); b.Property("Target") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("target") .HasColumnOrder(9); b.Property("Time") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("time") .HasColumnOrder(10); b.HasKey("Id") .HasName("pk_spells"); b.ToTable("spells", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.SpellRelation.SpellArea", b => { b.Property("SpellId") .HasColumnType("integer") .HasColumnName("spell_id") .HasColumnOrder(1); b.Property("Details") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("details") .HasColumnOrder(2); b.Property("Type") .HasColumnType("spell_area_type") .HasColumnName("type") .HasColumnOrder(3); b.Property("Value") .HasColumnType("integer") .HasColumnName("value") .HasColumnOrder(4); b.HasKey("SpellId") .HasName("pk_spell_areas"); b.ToTable("spell_areas", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.SpellRelation.SpellDamage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ApplyMod") .HasColumnType("boolean") .HasColumnName("apply_mod") .HasColumnOrder(4); b.Property("Category") .HasColumnType("spell_damage_category") .HasColumnName("category") .HasColumnOrder(5); b.Property("Formula") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("formula") .HasColumnOrder(6); b.Property("Key") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("key") .HasColumnOrder(3); b.Property("Kinds") .HasColumnType("spell_damage_kinds") .HasColumnName("kinds") .HasColumnOrder(7); b.Property("Materials") .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("materials") .HasColumnOrder(8); b.Property("SpellId") .HasColumnType("integer") .HasColumnName("spell_id") .HasColumnOrder(2); b.Property("Type") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("type") .HasColumnOrder(9); b.HasKey("Id") .HasName("pk_spell_damages"); b.HasIndex("SpellId") .HasDatabaseName("ix_spell_damages_spell_id"); b.ToTable("spell_damages", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.SpellRelation.SpellDefense", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("IsBasic") .HasColumnType("boolean") .HasColumnName("is_basic") .HasColumnOrder(4); b.Property("IsPassive") .HasColumnType("boolean") .HasColumnName("is_passive") .HasColumnOrder(3); b.Property("SpellId") .HasColumnType("integer") .HasColumnName("spell_id") .HasColumnOrder(2); b.Property("Statistic") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("statistic") .HasColumnOrder(5); b.HasKey("Id") .HasName("pk_spell_defenses"); b.HasIndex("SpellId") .HasDatabaseName("ix_spell_defenses_spell_id"); b.ToTable("spell_defenses", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.SpellRelation.SpellRitual", b => { b.Property("SpellId") .HasColumnType("integer") .HasColumnName("spell_id") .HasColumnOrder(1); b.Property("PrimaryCheck") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("primary_check") .HasColumnOrder(2); b.Property("SecondaryCasters") .HasColumnType("integer") .HasColumnName("secondary_casters") .HasColumnOrder(3); b.Property("SecondaryChecks") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("secondary_checks") .HasColumnOrder(4); b.HasKey("SpellId") .HasName("pk_spell_rituals"); b.ToTable("spell_rituals", (string)null); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Trait", b => { b.Property("Id") .HasColumnType("integer") .HasColumnName("id") .HasColumnOrder(1); b.Property("Type") .HasColumnType("trait_type") .HasColumnName("type") .HasColumnOrder(2); b.HasKey("Id") .HasName("pk_traits"); b.ToTable("traits", (string)null); }); modelBuilder.Entity("DeityTraining", b => { b.HasOne("Pf2eModel.Model.Structure.Deity", null) .WithMany() .HasForeignKey("DeityId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_deity_training_deities_deity_id"); b.HasOne("Pf2eModel.Model.Common.Training", null) .WithMany() .HasForeignKey("SkillsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_deity_training_trainings_skills_id"); }); modelBuilder.Entity("EntityKeyword", b => { b.HasOne("Pf2eModel.Model.Base.Entity", null) .WithMany() .HasForeignKey("EntitiesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_entity_keyword_entities_entities_id"); b.HasOne("Pf2eModel.Model.Base.Keywords.Keyword", null) .WithMany() .HasForeignKey("KeywordsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_entity_keyword_keywords_keywords_id"); }); modelBuilder.Entity("EntityTrait", b => { b.HasOne("Pf2eModel.Model.Base.Entity", null) .WithMany() .HasForeignKey("EntitiesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_entity_trait_entities_entities_id"); b.HasOne("Pf2eModel.Model.Structure.Trait", null) .WithMany() .HasForeignKey("TraitsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_entity_trait_traits_traits_id"); }); modelBuilder.Entity("Pf2eModel.Model.Base.EntityAlias", b => { b.HasOne("Pf2eModel.Model.Base.Entity", "Entity") .WithMany("Aliases") .HasForeignKey("EntityId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_entity_aliases_entities_entity_id"); b.Navigation("Entity"); }); modelBuilder.Entity("Pf2eModel.Model.Base.Keywords.KeywordAlias", b => { b.HasOne("Pf2eModel.Model.Base.Keywords.Keyword", "Keyword") .WithMany("Aliases") .HasForeignKey("KeywordId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_keyword_aliases_keywords_keyword_id"); b.Navigation("Keyword"); }); modelBuilder.Entity("Pf2eModel.Model.Base.Source.EntitySource", b => { b.HasOne("Pf2eModel.Model.Base.Entity", "Entity") .WithMany("Sources") .HasForeignKey("EntityId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_entity_sources_entities_entity_id"); b.HasOne("Pf2eModel.Model.Base.Source.Source", "Source") .WithMany("EntitySources") .HasForeignKey("SourceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_entity_sources_sources_source_id"); b.Navigation("Entity"); b.Navigation("Source"); }); modelBuilder.Entity("Pf2eModel.Model.Base.Targets.EntityExternal", b => { b.HasOne("Pf2eModel.Model.Base.Entity", "Entity") .WithMany("Externals") .HasForeignKey("EntityId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_entity_externals_entities_entity_id"); b.HasOne("Pf2eModel.Model.Base.Targets.ExternalTarget", "Target") .WithMany("EntityExternals") .HasForeignKey("TargetId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_entity_externals_external_targets_target_id"); b.Navigation("Entity"); b.Navigation("Target"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Action", b => { b.HasOne("Pf2eModel.Model.Base.Entity", "Entity") .WithOne() .HasForeignKey("Pf2eModel.Model.Structure.Action", "Id") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_actions_entities_id"); b.Navigation("Entity"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Ancestry", b => { b.HasOne("Pf2eModel.Model.Base.Entity", "Entity") .WithOne() .HasForeignKey("Pf2eModel.Model.Structure.Ancestry", "Id") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_ancestries_entities_id"); b.Navigation("Entity"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.AncestryRelation.AncestryBoost", b => { b.HasOne("Pf2eModel.Model.Structure.Ancestry", "Ancestry") .WithMany("AncestryBoosts") .HasForeignKey("AncestryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_ancestry_boosts_ancestries_ancestry_id"); b.Navigation("Ancestry"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.AncestryRelation.AncestryItem", b => { b.HasOne("Pf2eModel.Model.Structure.Ancestry", "Ancestry") .WithMany("AncestryItems") .HasForeignKey("AncestryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_ancestry_items_ancestries_ancestry_id"); b.HasOne("Pf2eModel.Model.Base.Entity", "Item") .WithMany() .HasForeignKey("ItemId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_ancestry_items_entities_item_id"); b.Navigation("Ancestry"); b.Navigation("Item"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.AncestryRelation.AncestryLanguage", b => { b.HasOne("Pf2eModel.Model.Structure.Ancestry", "Ancestry") .WithMany("AncestryLanguages") .HasForeignKey("AncestryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_ancestry_languages_ancestries_ancestry_id"); b.HasOne("Pf2eModel.Model.Structure.Language", "Language") .WithMany() .HasForeignKey("LanguageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_ancestry_languages_languages_language_id"); b.Navigation("Ancestry"); b.Navigation("Language"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Background", b => { b.HasOne("Pf2eModel.Model.Base.Entity", "Entity") .WithOne() .HasForeignKey("Pf2eModel.Model.Structure.Background", "Id") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_backgrounds_entities_id"); b.Navigation("Entity"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.BackgroundRelation.BackgroundBoost", b => { b.HasOne("Pf2eModel.Model.Structure.Background", "Background") .WithMany("BackgroundBoosts") .HasForeignKey("BackgroundId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_background_boosts_backgrounds_background_id"); b.Navigation("Background"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.BackgroundRelation.BackgroundItem", b => { b.HasOne("Pf2eModel.Model.Structure.Background", "Background") .WithMany("BackgroundItems") .HasForeignKey("BackgroundId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_background_items_backgrounds_background_id"); b.HasOne("Pf2eModel.Model.Base.Entity", "Entity") .WithMany() .HasForeignKey("EntityId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_background_items_entities_entity_id"); b.Navigation("Background"); b.Navigation("Entity"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.BackgroundRelation.BackgroundTraining", b => { b.HasOne("Pf2eModel.Model.Structure.Background", "Background") .WithMany("BackgroundSkills") .HasForeignKey("BackgroundId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_background_skills_backgrounds_background_id"); b.HasOne("Pf2eModel.Model.Common.Training", "Training") .WithMany() .HasForeignKey("TrainingId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_background_skills_trainings_training_id"); b.Navigation("Background"); b.Navigation("Training"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Class", b => { b.HasOne("Pf2eModel.Model.Base.Entity", "Entity") .WithOne() .HasForeignKey("Pf2eModel.Model.Structure.Class", "Id") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_classes_entities_id"); b.Navigation("Entity"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.ClassRelation.ClassKeyAbility", b => { b.HasOne("Pf2eModel.Model.Structure.Class", "Class") .WithMany("ClassKeyAbilities") .HasForeignKey("ClassId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_class_key_abilities_classes_class_id"); b.Navigation("Class"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.ClassRelation.ClassProgression", b => { b.HasOne("Pf2eModel.Model.Structure.Class", "Class") .WithMany("ClassProgressions") .HasForeignKey("ClassId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_class_progressions_classes_class_id"); b.HasOne("Pf2eModel.Model.Base.Entity", "Entity") .WithMany() .HasForeignKey("EntityId") .OnDelete(DeleteBehavior.SetNull) .HasConstraintName("fk_class_progressions_entities_entity_id"); b.Navigation("Class"); b.Navigation("Entity"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.ClassRelation.ClassTraining", b => { b.HasOne("Pf2eModel.Model.Structure.Class", "Class") .WithMany("ClassTrainings") .HasForeignKey("ClassId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_class_trainings_classes_class_id"); b.HasOne("Pf2eModel.Model.Common.Training", "Training") .WithMany() .HasForeignKey("TrainingId") .OnDelete(DeleteBehavior.SetNull) .HasConstraintName("fk_class_trainings_trainings_training_id"); b.Navigation("Class"); b.Navigation("Training"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Condition", b => { b.HasOne("Pf2eModel.Model.Base.Entity", "Entity") .WithOne() .HasForeignKey("Pf2eModel.Model.Structure.Condition", "Id") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_conditions_entities_id"); b.Navigation("Entity"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Deity", b => { b.HasOne("Pf2eModel.Model.Base.Entity", "Entity") .WithOne() .HasForeignKey("Pf2eModel.Model.Structure.Deity", "Id") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_deities_entities_id"); b.Navigation("Entity"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.DeityRelation.DeityAttribute", b => { b.HasOne("Pf2eModel.Model.Structure.Deity", "Deity") .WithMany("DeityAttributes") .HasForeignKey("DeityId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_deity_attributes_deities_deity_id"); b.Navigation("Deity"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.DeityRelation.DeityDomain", b => { b.HasOne("Pf2eModel.Model.Structure.Deity", "Deity") .WithMany("DeityDomains") .HasForeignKey("DeityId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_deity_domains_deities_deity_id"); b.Navigation("Deity"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.DeityRelation.DeitySpell", b => { b.HasOne("Pf2eModel.Model.Structure.Deity", "Deity") .WithMany("DeitySpells") .HasForeignKey("DeityId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_deity_spells_deities_deity_id"); b.HasOne("Pf2eModel.Model.Structure.Spell", "Spell") .WithMany() .HasForeignKey("SpellId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_deity_spells_spells_spell_id"); b.Navigation("Deity"); b.Navigation("Spell"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.DeityRelation.DeityWeapon", b => { b.HasOne("Pf2eModel.Model.Structure.Deity", "Deity") .WithMany("DeityWeapons") .HasForeignKey("DeityId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_deity_weapons_deities_deity_id"); b.Navigation("Deity"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Feat", b => { b.HasOne("Pf2eModel.Model.Base.Entity", "Entity") .WithOne() .HasForeignKey("Pf2eModel.Model.Structure.Feat", "Id") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_feats_entities_id"); b.Navigation("Entity"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.FeatRelation.FeatPrerequisite", b => { b.HasOne("Pf2eModel.Model.Structure.Feat", "Feat") .WithMany("FeatPrerequisites") .HasForeignKey("FeatId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_feat_prerequisites_feats_feat_id"); b.Navigation("Feat"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Heritage", b => { b.HasOne("Pf2eModel.Model.Structure.Ancestry", "Ancestry") .WithMany("Heritages") .HasForeignKey("AncestryId") .OnDelete(DeleteBehavior.Cascade) .HasConstraintName("fk_heritages_ancestries_ancestry_id"); b.HasOne("Pf2eModel.Model.Base.Entity", "Entity") .WithOne() .HasForeignKey("Pf2eModel.Model.Structure.Heritage", "Id") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_heritages_entities_id"); b.Navigation("Ancestry"); b.Navigation("Entity"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Language", b => { b.HasOne("Pf2eModel.Model.Base.Entity", "Entity") .WithMany() .HasForeignKey("EntityId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_languages_entities_entity_id"); b.Navigation("Entity"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Spell", b => { b.HasOne("Pf2eModel.Model.Base.Entity", "Entity") .WithOne() .HasForeignKey("Pf2eModel.Model.Structure.Spell", "Id") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_spells_entities_id"); b.Navigation("Entity"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.SpellRelation.SpellArea", b => { b.HasOne("Pf2eModel.Model.Structure.Spell", "Spell") .WithOne("SpellArea") .HasForeignKey("Pf2eModel.Model.Structure.SpellRelation.SpellArea", "SpellId") .OnDelete(DeleteBehavior.Cascade) .HasConstraintName("fk_spell_areas_spells_spell_id"); b.Navigation("Spell"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.SpellRelation.SpellDamage", b => { b.HasOne("Pf2eModel.Model.Structure.Spell", "Spell") .WithMany("SpellDamages") .HasForeignKey("SpellId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_spell_damages_spells_spell_id"); b.Navigation("Spell"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.SpellRelation.SpellDefense", b => { b.HasOne("Pf2eModel.Model.Structure.Spell", "Spell") .WithMany("SpellDefenses") .HasForeignKey("SpellId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_spell_defenses_spells_spell_id"); b.Navigation("Spell"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.SpellRelation.SpellRitual", b => { b.HasOne("Pf2eModel.Model.Structure.Spell", "Spell") .WithOne("SpellRitual") .HasForeignKey("Pf2eModel.Model.Structure.SpellRelation.SpellRitual", "SpellId") .OnDelete(DeleteBehavior.Cascade) .HasConstraintName("fk_spell_rituals_spells_spell_id"); b.Navigation("Spell"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Trait", b => { b.HasOne("Pf2eModel.Model.Base.Entity", "Entity") .WithOne() .HasForeignKey("Pf2eModel.Model.Structure.Trait", "Id") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_traits_entities_id"); b.Navigation("Entity"); }); modelBuilder.Entity("Pf2eModel.Model.Base.Entity", b => { b.Navigation("Aliases"); b.Navigation("Externals"); b.Navigation("Sources"); }); modelBuilder.Entity("Pf2eModel.Model.Base.Keywords.Keyword", b => { b.Navigation("Aliases"); }); modelBuilder.Entity("Pf2eModel.Model.Base.Source.Source", b => { b.Navigation("EntitySources"); }); modelBuilder.Entity("Pf2eModel.Model.Base.Targets.ExternalTarget", b => { b.Navigation("EntityExternals"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Ancestry", b => { b.Navigation("AncestryBoosts"); b.Navigation("AncestryItems"); b.Navigation("AncestryLanguages"); b.Navigation("Heritages"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Background", b => { b.Navigation("BackgroundBoosts"); b.Navigation("BackgroundItems"); b.Navigation("BackgroundSkills"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Class", b => { b.Navigation("ClassKeyAbilities"); b.Navigation("ClassProgressions"); b.Navigation("ClassTrainings"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Deity", b => { b.Navigation("DeityAttributes"); b.Navigation("DeityDomains"); b.Navigation("DeitySpells"); b.Navigation("DeityWeapons"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Feat", b => { b.Navigation("FeatPrerequisites"); }); modelBuilder.Entity("Pf2eModel.Model.Structure.Spell", b => { b.Navigation("SpellArea"); b.Navigation("SpellDamages"); b.Navigation("SpellDefenses"); b.Navigation("SpellRitual"); }); #pragma warning restore 612, 618 } } }