Merge remote-tracking branch 'origin/dev2' into dev

This commit is contained in:
2025-09-15 09:48:54 +04:00
87 changed files with 6607 additions and 145 deletions
+196 -19
View File
@@ -13,7 +13,11 @@ using Pf2eModel.Model.Enum;
namespace Pf2eModel.Migrations
{
[DbContext(typeof(Pf2eDbContext))]
<<<<<<<< HEAD:Pf2eModel/Migrations/20250912112500_1.Designer.cs
[Migration("20250912112500_1")]
========
[Migration("20250914093120_1")]
>>>>>>>> origin/dev2:Pf2eModel/Migrations/20250914093120_1.Designer.cs
partial class _1
{
/// <inheritdoc />
@@ -29,12 +33,12 @@ namespace Pf2eModel.Migrations
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "attribute_values", new[] { "cha", "con", "dex", "free", "int", "str", "wis" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "class_progression_type", new[] { "ancestry_feat", "attribute_increase", "class_feat", "entity", "general_feat", "skill_feat", "skill_increase" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "condition_group", new[] { "abilities", "attitudes", "death", "detection", "senses", "unknown" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_category", new[] { "covenant", "deity", "pantheon", "philosophy" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_fonts", new[] { "any", "harm", "heal", "none" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_sanctification", new[] { "any", "holy", "unholy" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "deity_type", new[] { "covenant", "deity", "pantheon", "philosophy" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "element_enum", new[] { "air", "earth", "fire", "metal", "universal", "water", "wood" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "entity_rarity", new[] { "common", "rare", "uncommon", "unique" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "entity_type", new[] { "action", "ancestry", "archetype", "background", "backpack", "campaign_feature", "class", "condition", "deity", "feat", "heritage", "language", "ritual", "rule", "spell", "subclass", "subclass_group", "trait", "unknown" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "entity_type", new[] { "action", "ancestry", "archetype", "background", "backpack", "campaign_feature", "class", "condition", "deity", "domain", "feat", "heritage", "language", "ritual", "rule", "spell", "subclass", "subclass_group", "trait", "unknown" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "feat_category", new[] { "ancestry", "ancestry-feature", "archetype", "bonus", "calling", "campaign-feature", "class", "class-feature", "curse", "deityboon", "general", "pfsboon", "skill", "uncategorized" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "locale_type", new[] { "english", "hobby", "other", "russian" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "size_enum", new[] { "huge", "large", "medium", "small", "tiny" });
@@ -44,7 +48,7 @@ namespace Pf2eModel.Migrations
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_damage_kinds", new[] { "any", "damage", "healing" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "spell_tradition", new[] { "all", "arcane", "divine", "elemental", "none", "occult", "primal" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "training_rank", new[] { "expert", "legendary", "master", "mythic", "trained", "untrained" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "trait_type", new[] { "class", "regular", "tradition" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "trait_type", new[] { "alignment", "class", "regular", "tradition" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "vision_enum", new[] { "dark-vision", "low-light-vision", "normal" });
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
@@ -896,11 +900,11 @@ namespace Pf2eModel.Migrations
.HasColumnOrder(2)
.HasComment("Количество очков здоровья");
b.Property<bool>("Spellcasting")
.HasColumnType("boolean")
b.Property<int>("Spellcasting")
.HasColumnType("integer")
.HasColumnName("spellcasting")
.HasColumnOrder(3)
.HasComment("Заклинатель?");
.HasComment("Тип заклинательства");
b.Property<SpellTradition?>("Tradition")
.HasColumnType("spell_tradition")
@@ -1128,30 +1132,72 @@ namespace Pf2eModel.Migrations
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<DeityCategory>("Category")
.HasColumnType("deity_category")
b.Property<string>("Anathema")
.IsRequired()
.HasColumnType("jsonb")
.HasColumnName("anathema")
.HasColumnOrder(8)
.HasComment("Анафемы божества");
b.Property<string>("AreaOfConcern")
.IsRequired()
.HasColumnType("jsonb")
.HasColumnName("area_of_concern")
.HasColumnOrder(11)
.HasComment("Область покровительства божества");
b.Property<string>("Category")
.IsRequired()
.HasColumnType("text")
.HasColumnName("category")
.HasColumnOrder(2)
.HasComment("Тип божества");
.HasColumnOrder(3)
.HasComment("Категория божества");
b.Property<string>("Edicts")
.IsRequired()
.HasColumnType("jsonb")
.HasColumnName("edicts")
.HasColumnOrder(7)
.HasComment("Заветы божества");
b.Property<DeityFonts>("Fonts")
.HasColumnType("deity_fonts")
.HasColumnName("fonts")
.HasColumnOrder(3)
.HasColumnOrder(4)
.HasComment("Тип божественной силы");
b.Property<string>("ReligiousSymbol")
.IsRequired()
.HasColumnType("jsonb")
.HasColumnName("religious_symbol")
.HasColumnOrder(9)
.HasComment("Религиозный символ божества");
b.Property<string>("SacredAnimal")
.IsRequired()
.HasColumnType("jsonb")
.HasColumnName("sacred_animal")
.HasColumnOrder(10)
.HasComment("Священное животное божества");
b.Property<DeitySanctification>("Sanctification")
.HasColumnType("deity_sanctification")
.HasColumnName("sanctification")
.HasColumnOrder(4)
.HasColumnOrder(5)
.HasComment("Тип освящения");
b.Property<bool>("SanctificationMust")
.HasColumnType("boolean")
.HasColumnName("sanctification_must")
.HasColumnOrder(5)
.HasColumnOrder(6)
.HasComment("Обязательное освящение");
b.Property<DeityType>("Type")
.HasColumnType("deity_type")
.HasColumnName("type")
.HasColumnOrder(2)
.HasComment("Тип божества");
b.HasKey("Id")
.HasName("pk_deities");
@@ -1160,21 +1206,33 @@ namespace Pf2eModel.Migrations
modelBuilder.Entity("Pf2eModel.Model.Structure.DeityRelation.DeityAttribute", b =>
{
b.Property<int>("DeityId")
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("deity_id")
.HasColumnName("id")
.HasColumnOrder(1)
.HasComment("Идентификатор божества");
.HasComment("Идентификатор");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<AttributeValues>("Attribute")
.HasColumnType("attribute_values")
.HasColumnName("attribute")
.HasColumnOrder(2)
.HasColumnOrder(3)
.HasComment("Атрибут божества");
b.HasKey("DeityId", "Attribute")
b.Property<int>("DeityId")
.HasColumnType("integer")
.HasColumnName("deity_id")
.HasColumnOrder(2)
.HasComment("Идентификатор божества");
b.HasKey("Id")
.HasName("pk_deity_attributes");
b.HasIndex("DeityId")
.HasDatabaseName("ix_deity_attributes_deity_id");
b.ToTable("deity_attributes", (string)null);
});
@@ -1195,6 +1253,12 @@ namespace Pf2eModel.Migrations
.HasColumnOrder(2)
.HasComment("Идентификатор божества");
b.Property<int>("DomainId")
.HasColumnType("integer")
.HasColumnName("domain_id")
.HasColumnOrder(4)
.HasComment("Идентификатор домена");
b.Property<bool>("IsPrimary")
.HasColumnType("boolean")
.HasColumnName("is_primary")
@@ -1206,7 +1270,7 @@ namespace Pf2eModel.Migrations
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("value")
.HasColumnOrder(4);
.HasColumnOrder(5);
b.HasKey("Id")
.HasName("pk_deity_domains");
@@ -1214,6 +1278,9 @@ namespace Pf2eModel.Migrations
b.HasIndex("DeityId")
.HasDatabaseName("ix_deity_domains_deity_id");
b.HasIndex("DomainId")
.HasDatabaseName("ix_deity_domains_domain_id");
b.ToTable("deity_domains", (string)null);
});
@@ -1292,6 +1359,56 @@ namespace Pf2eModel.Migrations
b.ToTable("deity_weapons", (string)null);
});
modelBuilder.Entity("Pf2eModel.Model.Structure.Domain", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id")
.HasColumnOrder(1)
.HasComment("Идентификатор");
b.Property<int?>("AdvancedApocryphalSpellId")
.HasColumnType("integer")
.HasColumnName("advanced_apocryphal_spell_id")
.HasColumnOrder(5)
.HasComment("Продвинутое апокрифическое заклинание домена");
b.Property<int>("AdvancedDomainSpellId")
.HasColumnType("integer")
.HasColumnName("advanced_domain_spell_id")
.HasColumnOrder(3)
.HasComment("Продвинутое заклинание домена");
b.Property<int?>("ApocryphalSpellId")
.HasColumnType("integer")
.HasColumnName("apocryphal_spell_id")
.HasColumnOrder(4)
.HasComment("Апокрифическое заклинание домена");
b.Property<int>("DomainSpellId")
.HasColumnType("integer")
.HasColumnName("domain_spell_id")
.HasColumnOrder(2)
.HasComment("Заклинание домена");
b.HasKey("Id")
.HasName("pk_domains");
b.HasIndex("AdvancedApocryphalSpellId")
.HasDatabaseName("ix_domains_advanced_apocryphal_spell_id");
b.HasIndex("AdvancedDomainSpellId")
.HasDatabaseName("ix_domains_advanced_domain_spell_id");
b.HasIndex("ApocryphalSpellId")
.HasDatabaseName("ix_domains_apocryphal_spell_id");
b.HasIndex("DomainSpellId")
.HasDatabaseName("ix_domains_domain_spell_id");
b.ToTable("domains", (string)null);
});
modelBuilder.Entity("Pf2eModel.Model.Structure.Feat", b =>
{
b.Property<int>("Id")
@@ -2406,7 +2523,16 @@ namespace Pf2eModel.Migrations
.IsRequired()
.HasConstraintName("fk_deity_domains_deities_deity_id");
b.HasOne("Pf2eModel.Model.Structure.Domain", "Domain")
.WithMany("DeityDomains")
.HasForeignKey("DomainId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_deity_domains_domains_domain_id");
b.Navigation("Deity");
b.Navigation("Domain");
});
modelBuilder.Entity("Pf2eModel.Model.Structure.DeityRelation.DeitySpell", b =>
@@ -2442,6 +2568,52 @@ namespace Pf2eModel.Migrations
b.Navigation("Deity");
});
modelBuilder.Entity("Pf2eModel.Model.Structure.Domain", b =>
{
b.HasOne("Pf2eModel.Model.Structure.Spell", "AdvancedApocryphalSpell")
.WithMany()
.HasForeignKey("AdvancedApocryphalSpellId")
.OnDelete(DeleteBehavior.SetNull)
.HasConstraintName("fk_domains_spells_advanced_apocryphal_spell_id");
b.HasOne("Pf2eModel.Model.Structure.Spell", "AdvancedDomainSpell")
.WithMany()
.HasForeignKey("AdvancedDomainSpellId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_domains_spells_advanced_domain_spell_id");
b.HasOne("Pf2eModel.Model.Structure.Spell", "ApocryphalSpell")
.WithMany()
.HasForeignKey("ApocryphalSpellId")
.OnDelete(DeleteBehavior.SetNull)
.HasConstraintName("fk_domains_spells_apocryphal_spell_id");
b.HasOne("Pf2eModel.Model.Structure.Spell", "DomainSpell")
.WithMany()
.HasForeignKey("DomainSpellId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_domains_spells_domain_spell_id");
b.HasOne("Pf2eModel.Model.Base.Entity", "Entity")
.WithOne()
.HasForeignKey("Pf2eModel.Model.Structure.Domain", "Id")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_domains_entities_id");
b.Navigation("AdvancedApocryphalSpell");
b.Navigation("AdvancedDomainSpell");
b.Navigation("ApocryphalSpell");
b.Navigation("DomainSpell");
b.Navigation("Entity");
});
modelBuilder.Entity("Pf2eModel.Model.Structure.Feat", b =>
{
b.HasOne("Pf2eModel.Model.Base.Entity", "Entity")
@@ -2732,6 +2904,11 @@ namespace Pf2eModel.Migrations
b.Navigation("DeityWeapons");
});
modelBuilder.Entity("Pf2eModel.Model.Structure.Domain", b =>
{
b.Navigation("DeityDomains");
});
modelBuilder.Entity("Pf2eModel.Model.Structure.Feat", b =>
{
b.Navigation("FeatPrerequisites");